home *** CD-ROM | disk | FTP | other *** search
/ Vectronix 2 / VECTRONIX2.iso / FILES_01 / SMON109A.LZH / SYS_MON.MAN < prev    next >
Text File  |  1994-03-27  |  103KB  |  2,198 lines

  1. *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
  2.  
  3.  
  4.          ⌠ SysMon der ATARI-ST SystemMonitor Version 1.0.9 ⌠
  5.          |-------------------------------------------------|
  6.          ⌡    Copyright (C) by Karsten Isakovic, Berlin    ⌡
  7.  
  8.                   ist ein Shareware Programm von
  9.  
  10.                   Karsten Isakovic geb. Gerlach
  11.                       Wilmersdorfer Str. 82
  12.                            10629 Berlin
  13.  
  14.  
  15. *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
  16.  
  17. ALLGEMEINES
  18.  
  19.  
  20.      WAS IST SYSMON
  21.  
  22.      SysMon ist ein  System Monitor, der genau an der Schnittstelle
  23.      zwischen Betriebssystem und anderen Programmen sitzt, die mit diesem
  24.      Betriebssystem arbeiten. SysMon ermöglicht es, die Aufrufe an das
  25.      Betriebssystem mitzuprotokollieren. Er ist auch in der Lage, den
  26.      Zustand einzelner Systemresourcen - wie Speicherblöcke und System-
  27.      vektoren - anzuzeigen.
  28.  
  29.      Monitor bedeutet aber auch, da₧ der Zustand des Systems nur
  30.      beobachtet und nicht verändert werden kann.
  31.  
  32.  
  33.      WAS LEISTET SYSMON
  34.  
  35.      SysMon gliedert sich in zwei generelle Teile. Der erste Teil kann die
  36.      Aufrufe von Systemfunktionen mitprotokollieren ( Der Tracer ) und der
  37.      zweite Teil ist für die Anzeige von Systemresourcen zuständig ( Der
  38.      Monitor ).
  39.  
  40.  
  41.      TRACER
  42.  
  43.      Der Tracer unterstützt alle dokumentierten Systemfunktionen und ist
  44.      in weiten Bereichen konfigurierbar. Der Tracer kann alle Aufrufe von
  45.      Systemfunktionen durch das Betriebssystem oder von Programmen mit-
  46.      protokollieren. Einzelne Systemaufrufe können bei der Ausgabe unter-
  47.      drückt und einzelne Programme vom Tracen ausgenommen werden. Die
  48.      Ausgaben können über verschiedene Einstellungen den jeweiligen
  49.      Bedürfnissen angepa₧t werden. Es sind sehr viele Erweiterungen in den
  50.      Tracer eingebaut, es werden zum Beispiel alle bekannten Message-
  51.      Protokolle, die zur Kommunikation zwischen Applikationen und den
  52.      quasiparallen Accessories dienen, unterstützt.
  53.  
  54.  
  55.      MONITOR
  56.  
  57.      Der Monitor zeigt mehrere Informationen wie Speicherblöcke, System-
  58.      vektoren und Strukturen, die teilweise nur systemintern dokumentiert
  59.      sind. Die Systemvektoren bestimmen, welche Programme auf einzelne
  60.      Funktionen des Systems Einflu₧ nehmen. Die Speicheranzeige zeigt
  61.      nicht nur die Länge der einzelnen Bereiche, sondern macht auch
  62.      Aussagen über deren Inhalt und das Programm, welches den Bereich
  63.      angefordert hat. Au₧erdem werden sämtliche dokumentierten System-
  64.      variablen und Strukturen angezeigt.
  65.  
  66.      Beim Starten installiert sich SysMon in den Systemvektoren und unter-
  67.      sucht den Speicher nach vorher geladenen Programmen. Wird SysMon dann
  68.      über eine bestimmte Tastenkombination aktiviert, kann man alle
  69.      folgenden Systemaufrufe dokumentieren.
  70.  
  71.      Da SysMon ziemlich viel Speicher benötigt (ca 300 KB) und somit auf
  72.      Rechnern mit wenig Speicher nicht permanent geladen werden kann, ist
  73.      er in der Lage, sich selber wieder komplett aus dem System zu
  74.      entfernen.
  75.  
  76.      Durch diese Möglichkeiten eigenet sich SysMon vorzüglich zum Debuggen
  77.      von eigenen Programmen oder zur Analyse von fremden Programmen. Auch
  78.      früher besonders schwer zu debuggende Probleme, wie die Kommunikation
  79.      zwischen verschiedenen Prozessen, sind mit SysMon schnell und einfach
  80.      zu bewerkstelligen.
  81.  
  82.  
  83. *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
  84.  
  85. DIE BENUTZERSCHNITTSTELLE VON SYSMON
  86.  
  87.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  88.      BEDIENUNGSKONZEPT
  89.  
  90.      Die Benutzeroberfläche von SysMon ist als einfaches Menü- und
  91.      Fenstersystem ausgeführt, das an die bekannte Benutzeroberfläche des
  92.      Atari ST angelehnt ist.
  93.  
  94.      Die Menüleiste und die Fenster sind durch Zeichen aus Character-
  95.      Graphiken nachgebildet. Die Bedienung erfolgt - im Gegensatz zum
  96.      Vorbild, das mit der Maus bedient wird -  komplett über die Tastatur.
  97.  
  98.      Die SysMon Oberfläche wird auf einer zweiten, verdeckten Bildschirm-
  99.      Speicherseite des Atari ST dargestellt, damit die Ausgaben der
  100.      debuggten Programme ohne Störungen auf der normalen Bildschirm-
  101.      Speicherseite geschehen können. Auf diese Weise ist der SysMon
  102.      transparent (d.h. für das System nicht sichtbar), kann aber trotzdem
  103.      eigene Ausgaben machen.
  104.  
  105.      Zwischen dem Orginal- und dem SysMon-Bildschirm kann jederzeit durch
  106.      eine einfache Tastenkombination umgeschaltet werden.
  107.  
  108.      Die Vorteile dieses Konzeptes sind
  109.      - einfache Bedienung, da bekannte Vorgehensweisen nachgeahmt werden.
  110.      - die Menü- und Fensterstruktur verdeutlicht den hierarchischen
  111.        Aufbau des SysMon
  112.      - durch die Reduktion auf Tastaturbedienung und einfache Character-
  113.        Graphiken wird der SysMon nicht mit Funktionen der Oberfläche
  114.        überladen, sondern behält den Charakter eines Tools (Werkzeugs)
  115.      - komplett eigene Routinen zur Ein- und Ausgabe auf der eigenen
  116.        Bildschirmseite, dadurch ist SysMon vom Betriebssystem abgekoppelt.
  117.  
  118.      In jedem Fenster oder Untermenü wird die aktuelle Zeile durch
  119.      Invertierung gesondert hervorgehoben. Dort bewegt man sich mit Hilfe
  120.      des Cursotasten. Der selektierte Eintrag wird mit der RETURN-Taste
  121.      angewählt. Um eine schnellere Bedienung der Menüs zu ermöglichen,
  122.      sind die Einträge in den Menüs einerseits über den jeweiligen
  123.      Anfangsbuchstaben anwählbar, andererseits kann der Cursor mit Hilfe
  124.      von Sondertasten in grö₧eren Sprüngen bewegt werden.
  125.  
  126.  
  127.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  128.      MENUELEISTE
  129.  
  130.      Die Menüleiste befindet sich am oberen Bildschirmrand, wie es unter
  131.      GEM üblich ist. Die einzelnen Einträge verbergen Untermenüs, die beim
  132.      Anwählen des Menütitels heruntergeklappt werden.
  133.        ___________________________________________________________________
  134.        ⌠  Sys-Mon  Aes  Vdi  Gemdos  Bios  Xbios  LineA   1:SysMon       ⌠
  135.        ⌡-⌠-----------------⌠------------------------------------Run-Mode-⌡
  136.          | Config. tracer  |
  137.          | Program setup   |
  138.          | New     prog.   |
  139.          | Used    traps   |
  140.          | proFile menu    |
  141.          | Display conf.   |
  142.          |-----------------|
  143.          | Traps & vectors |
  144.          | Memory  list    |
  145.          | OS-var. list    |
  146.          |-----------------|
  147.          | Edit    notepad |
  148.          | ReRead  setup   |
  149.          | Write   setup   |
  150.          |-----------------|
  151.          | regIstration    |
  152.          |-----------------|
  153.          | QUIT    sysmon  |
  154.          ⌡-----------------⌡
  155.  
  156.      Der Menüeintrag mit dem Titel SysMon verbirgt ein Untermenü, von dem
  157.      aus die einzelnen Fenster des SysMon geöffnet werden. Der linke
  158.      Menütitel entspricht dem Desktop-Titel einer normalen GEM-Menüleiste.
  159.      Die anderen Menüeinträge ( Aes bis LineA ) enthalten die Funktions-
  160.      listen, in denen die einzelnen Systemfunktionen aufgeführt sind.
  161.  
  162.      Die Menüleiste dient noch einem anderen Zweck; sie bietet einen
  163.      Überblick über die wichtigsten Einstellungen des Tracers.
  164.  
  165.  
  166.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  167.      FUNKTIONSLISTEN
  168.  
  169.      Entsprechend der Unterteilung des Betriebssystems in verschiedene
  170.      Funktionsbereiche  ( Aes, Vdi...LineA ) gibt es im SysMon für jeden
  171.      Bereich eine Funktionsgruppen, die jeweils eine Liste der angebotenen
  172.      Systemfunktionen enthält.
  173.        ___________________________________________________________________
  174.        ⌠  Sys-Mon  AES  Vdi  Gemdos  Bios  Xbios  LineA   1:SysMon       ⌠
  175.        ⌡---------⌠------------------⌠---------------------------Run-Mode-⌡
  176.                  | 10 appl_init   + |
  177.                  | 11 appl_read   + |
  178.                  | 12 appl_write  + |
  179.                  | 13 appl_find   + |
  180.                  | 14 appl_tplay  + |
  181.                  | 15 appl_trec.  + |
  182.                  | 16 appl_bvset  + |
  183.                  | 17 appl_yield  + |
  184.                  | 18 appl_search + |
  185.                  | 19 appl_exit   + |
  186.                  | 20 evnt_keybd  + |
  187.                  | 21 evnt_button + |
  188.                  | 22 evnt_mouse  + |
  189.                  | 23 evnt_mesag  + |
  190.                  | 24 evnt_timer  + |
  191.                  | 25 evnt_multi  + |
  192.                  | 26 evnt_dclick + |
  193.                  | 30 menu_bar    + |
  194.                  ⌡------------------⌡
  195.  
  196.      Diese Funktionslisten sind als Untermenüs ausgeführt, wobei eine zum
  197.      GEM abweichende Bedienung vorliegt. Die Vielzahl der Unterfunktionen
  198.      macht es notwendig, da₧ die Funktionslisten gescrollt werden müssen,
  199.      wenn der untere Rand mit dem Cursor erreicht ist.
  200.  
  201.      Jede Unterfunktion ist rechts mit einem Symbol versehen, das den
  202.      Trace-Zustand dieser Unterfunktion angibt. Es ist in Funktionslisten
  203.      auch möglich, mehrere Funktionen auf einmal zu beeinflu₧en, indem man
  204.      mit Control-Cursortaste einen Block markiert.
  205.  
  206.  
  207.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  208.      FENSTER
  209.  
  210.      Die Fenster von SysMon lassen sich weder in der Grö₧e verändern, noch
  211.      an anderen Stellen positionieren. Sie sollen lediglich den
  212.      hierarchischen Aufbau verdeutlichen und Informationen zusammenfassen.
  213.        ___________________________________________________________________
  214.        ⌠  Sys-Mon  Aes  Vdi  Gemdos  Bios  Xbios  LineA   1:SysMon       ⌠
  215.        ⌡-⌠-----------------⌠------------------------------------Run-Mode-⌡
  216.          | Config. tracer  |
  217.          | Program ⌠ Start      End        Name         Aes Vdi Stat  ⌠
  218.          | New     |--------------------------------------------------|
  219.          | Used    |$01000030 - $01019D58  TOS         |   |   | TOS  |
  220.          | proFile |$01019D5A - $01025872  GEM         | 1 | 1 | TOS  |
  221.          | Display |$0001F296 - $0004238E  HardDrv   + |   |   | LPrg |
  222.          |---------|$00067F76 - $0006FABE  MDISK     + |   |   | Acc. |
  223.          | Traps & |$0006FC42 - $0007CDE8  XCONTROL  + |   |   | Acc. |
  224.          | Memory  |$010268BE - $010387EE  SLECTRIC    |   |   | Auto |
  225.          | OS-var. |$0103883A - $01039224  LEDPANEL    |   |   | Auto |
  226.          |---------|$01039270 - $0104975E  NVDI        |   |   | Auto |
  227.          | Edit    |$01049C28 - $0105EF10  TEMPLMON    |   |   | Auto |
  228.          | ReRead  |$01084F56 - $010E3F16  GEMINI    + |   |   | Prg  |
  229.          | Write   |$011721A6 - $011A1542  EDISON    + ╛   |   | Prg  |
  230.          |---------|$0125C352 - $0128FCCA  SYS_MON     |   |   | Auto |
  231.          | regIstra|                        Unknown  + |   |   | ???  |
  232.          |---------⌡--------------------------------------------------⌡
  233.          | QUIT    sysmon  |
  234.          ⌡-----------------⌡
  235.  
  236.  
  237.      Wie bei den Menüs wird die aktuelle Zeile durch Invertierung hervor-
  238.      gehoben. Sind mehr Zeilen in einem Fenster vorhanden, als auf dem
  239.      Bildschirm dargestellt werden kann, so wird der Fensterinhalt
  240.      gescrollt, wenn man den unteren oder oberen Rand erreicht.
  241.  
  242.      Hat ein Fenster nur Dialog-Funktion, so können die Funktionen auch
  243.      durch den jeweiligen Anfangsbuchstaben ausgelöst werden. Der Cursor
  244.      wird automatisch auf dem ausgewählten Eintrag positioniert.
  245.  
  246.      Ein Fenster wird mit der UNDO-Taste wieder geschlossen.
  247.  
  248.  
  249.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  250.      OPTIONEN LISTE
  251.  
  252.      In manchen Fenstern kann man die Darstellungsart der Informationen
  253.      beeinflussen bzw. Informationen ausblenden. In solchen Fenstern wird
  254.      in der rechten oberen Ecke die Liste der möglichen Schalter
  255.      dargestellt. Diese Schalter werden als Optionen bezeichnet.
  256.  
  257.      Die Umschaltung der einzelnen Optionen erfolgt über die angegebenen
  258.      Kennbuchstaben, die nach memnonischen Gesichtspunkten zugeordnet
  259.      sind. Eine Option ist eingeschaltet, wenn der jeweilige Kennbuchstabe
  260.      gro₧ geschrieben wird.
  261.  
  262.      In manchen Optionen-Fenstern werden die einzelnen Informationsblöcke
  263.      durch Titelzeilen getrennt. Damit einzelne Informationen schneller
  264.      gefunden werden können, wird mit der Tastenkombination Control-
  265.      Cursortaste zur jeweils nächsten/vorherigen Titelzeile gesprungen.
  266.  
  267.  
  268.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  269.      KONTROLLTASTEN
  270.  
  271.      Die Effizienz eines Debugging-Tool hängt besonders von den
  272.      Möglichkeiten ab, das Tool schnell und unkompliziert bedienen zu
  273.      können. Wenn man erst mehrere Fenster öffnen mü₧te, um die
  274.      wichtigsten Einstellungen vornehmen zu können, artet die
  275.      eigentliche Fehlersuche zu einem reinen Puzzlespiel aus.
  276.  
  277.      Aus diesem Grunde sind alle wichtigen Einstellungen des SysMon
  278.      über Kontrollsequencen zu beeinflussen, die in jedem Fenster und
  279.      jedem Submenü gelten. Die Zuordnung erfolgte wieder auf memnonischer
  280.      Basis, damit eine schnelle Einarbeitung gewährleistet ist.
  281.  
  282.  
  283.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  284.      KONZEPT DES MONITORS
  285.  
  286.      Der Monitor-Teil des SysMon besteht aus einer Reihe von Fenstern, in
  287.      denen Informationen angezeigt werden. Dadurch, da₧ SysMon jederzeit
  288.      aufgerufen werden kann, kann man auch jederzeit einen Überblick über
  289.      den Zustand des Systems erhalten.
  290.  
  291.      Die zum Monitor gehörenden Fenster sind mit Optionenleisten versehen,
  292.      damit die Vielzahl der dargestellen Informationen schnell auf ein
  293.      übersichtliches Ma₧ reduziert werden kann. Jede Systemstruktur wird
  294.      als einzelner Block dargestellt, wobei die einzelnen Elemente der
  295.      Strukturen mit Namen aufgeführt werden.
  296.  
  297.      Um einen Eindruck von der Menge der jederzeit verfügbaren
  298.      Informationen zu geben, sei an dieser Stelle erwähnt, da₧ das Fenster
  299.      für die Systemvariablen aus über 1200 Zeilen  besteht, wenn man den
  300.      alternativen Desktop Gemini nachlädt.
  301.  
  302.  
  303.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  304.      KONZEPT DES TRACERS
  305.  
  306.      Welche Anforderungen sollten an einen Tracer gestellt werden?
  307.  
  308.      - Er soll auf einfache Weise ermöglichen, die Aufrufe von Programmen
  309.        zu protokollieren.
  310.      - Da zu jeder Zeit eine Vielzahl von Systemfunktionen aufgerufen
  311.        werden, müssen Informationen ausgeblendet werden, die für das
  312.        Debugging nicht relevant sind. Dazu zählen z.B. die Systemaufrufe
  313.        der anderen geladenen Programme oder unkritische Aufrufe des zu
  314.        beobachtenden Programms.
  315.      - In vielen Fällen laufen die Vorgänge zu schnell ab, so das eine
  316.        schrittweise Ausführung ( Step-Modus ) des kritischen
  317.        Bereiches möglich sein mu₧.
  318.      - Diese kritischen Bereiche sollen möglichst schnell 'angesteuert'
  319.        werden können, ein Tracer sollte automatisch vor solch einem
  320.        Bereich gestoppt werden können ( Wait-Modus ).
  321.      - Die Protokollausgabe sollte auf verschiedenen Ausgabegeräten
  322.        möglich sein. Die Möglichkeit des Abspeicherns von Ausgaben
  323.        ( Protokolldatei ) erleichtert die Fehlersuche.
  324.      - Die Einstellungen ( Setup ) sollten abspeicherbar sein, damit ein
  325.        erneuter Test keine Neukonfiguration des Tracers notwendig macht.
  326.      - Die Bedienung sollte nicht durch unnötigen Ballast gestört werden,
  327.        die wichtigen Funktionen des Tracers sollten über kurze Tasten-
  328.        kommandos erreichbar sein.
  329.  
  330.      Alle diese Anforderungen werden vom SysMon erfüllt. Der Tracer stellt
  331.      die Hauptfunktion des SysMon dar. Die vielfältigen Möglichkeiten
  332.      bedingen, da₧ die einzelnen Einstellungen strukturiert werden.
  333.  
  334.      - Die am häufigsten benötigten Funktionen, das Ein-/Ausschalten des
  335.        Tracers, das Umschalten von ganzen Funktionsgruppen und die
  336.        Einstellung des Trace-Modus sind über Kontrolltasten realisiert.
  337.      - Der Trace-Zustand der einzelnen Systemfunktionen kann in Submenüs
  338.        vorgenommen werden, die direkt von der Menüleiste aufgeklappt werden.
  339.        Durch die Verwendung von Submenüs ist jede Funktion schnell zu
  340.        erreichen, desweiteren ist der Bildschirm nicht durch unnötige
  341.        Informationen überladen.
  342.      - Der Trace-Zustand der geladenen Programme kann beeinflu₧t werden.
  343.      - Die Ausgabezeile des Tracers kann frei konfiguriert werden.
  344.      - SysMon bietet 10 verschieden Setups an, die abgespeichert werden
  345.        können. Einzelnen Setups kann ein Namen zuzuordnet werden.
  346.      - Es gibt eine Übersicht über deren gesamte Einstellung.
  347.      - Die verschiedenen Möglichkeiten der Ein-/Ausgabe werden in einem
  348.        Dialog-Fenster bestimmt.
  349.  
  350.        Der gro₧e Teil des Bildschirms unterhalb der Menüleiste ist für
  351.        die Ausgaben des Tracers vorgesehen. Da zusätzliche Zeilen ab-
  352.        gespeichert werden, kann in den Tracerausgaben auch zurück-
  353.        geblättert werden.
  354.  
  355.        Die Ausgaben können aber auch auf ein anderes Gerät ( RS232-
  356.        Schnittstelle, Drucker, MIDI... ) umgeleitet oder zusätzlich in
  357.        einem Protokollfile abgelegt werden.
  358.      - Der interne Zustand des Tracers kann dargestellt werden.
  359.  
  360.  
  361.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  362.      MODI DES TRACERS
  363.  
  364.      SysMon bietet vier verschiedene Trace-Modi an.
  365.  
  366.      RUN   Der Run-Modus ist der normale Trace-Modus. Zwischen den
  367.            einzelnen Ausgaben kann eine Pause gemacht werden, falls
  368.            diese zu schnell ablaufen.
  369.      STEP  Im Step-Modus wird hinter jeder Funktion auf einen
  370.            Tastendruck gewartet. Dadurch ist eine schrittweise
  371.            Ausführung eines Programms möglich. Das Step-Menü bietet
  372.            auch noch weitere Möglichkeiten an, z.B. werden alle
  373.            Kontrolltasten-Befehle erkannt.
  374.      WAIT  In diesem Modus wird das SysMon-Menü betreten, sobald
  375.            eine Funktion aufgerufen wird, für die der Wait-Modus
  376.            gesetzt ist. Vorher finden keine Ausgaben statt, auch wenn
  377.            Funktionen aufgerufen werden, die im Run-Modus Ausgaben
  378.            erzeugen. Auf diese Weise lassen sich die Ausgaben von
  379.            SysMon unterdrücken, bis der 'kritische' Programmteil
  380.            erreicht ist.
  381.      HALT  In diesem Modus wird sofort hinter dem nächsten angezeigten
  382.            Funktionsaufruf das SysMon-Menü betreten. Wenn die Ausgaben
  383.            nur auf die 'kritischen' Funktionen begrenzt sind, ist dies
  384.            die schnellste Möglichkeit, einen 'kritischen' Programmteil
  385.            abzuwarten.
  386.  
  387.  
  388.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  389.      HIERARCHIE DES TRACERS
  390.  
  391.      Die Tracer-Ausgaben können in mehreren Ebenen ausgeblendet werden:
  392.  
  393.        Ebene | Erläuterung
  394.        ------+------------------------------------------------------------
  395.         1    | Der Tracer kann komplett ausgeschaltet werden.
  396.         2    | Die Funktionsaufrufe von einzelnen Programmen können
  397.              | ausgeblendet werden.
  398.         3    | Einzelne Funktionsgruppen ( Aes, Vdi, Gemdos... ) können
  399.              | ausgeblendet werden.
  400.         4    | Einzelne Funktionsaufrufe können ausgeschaltet werden.
  401.        ------+------------------------------------------------------------
  402.  
  403.      Ein Funktionsaufruf wird nur angezeigt, wenn der Tracer eingeschaltet
  404.      ist, das aufrufende Programm getraced wird, die Funktionsgruppe des
  405.      Aufrufs eingeschaltet ist und die Funktion zum Tracen markiert ist.
  406.  
  407.      Diese starre Hirarchie wird durch zusätzliche Funktionsmodi durch-
  408.      brochen. In manchen Fällen ist es sinnvoll, da₧ einzelne Aufrufe
  409.      immer angezeigt werden, auch wenn das aufrufende Programm nicht
  410.      getraced wird.
  411.  
  412.  
  413.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  414.      AUSGABEZEILE DES TRACERS
  415.  
  416.      Die Ausgabezeile eines Tracers soll soviel Informationen bieten wie
  417.      möglich, aber nur soviel wie nötig. Aus diesem Grund kann die Ausgabe
  418.      von einzelnen, nicht benötigten Informationen abgeschaltet werden.
  419.  
  420.      Wird nur ein einzelnes Programm getraced, ist es unnötig, in jeder
  421.      Zeile den Programmnamen auszugeben. Die Ausgabe der Funktionsnummer,
  422.      des Supervisor-Stackpointers oder der Rücksprungadresse wird in den
  423.      meisten Fällen auch nicht benötigt.
  424.  
  425.      Die einzelnen Elemente der Ausgabezeile können über Kontrolltasten
  426.      umgeschaltet werden.
  427.  
  428.  
  429. *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
  430.  
  431. ALLGEMEINE FUNKTIONEN
  432.  
  433.      In diesem Abschnitt werden die Funktionen des SysMon behandelt, die
  434.      nicht direkt mit dem Monitor oder Tracer zu tun haben.
  435.  
  436.  
  437.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  438.      STARTEN DES SYSMON
  439.  
  440.      SysMon kann entweder aus dem Auto-Ordner oder vom Desktop gestartet
  441.      werden. Das Programm belegt ca. 220 Kb an Programmcode und ca. 75 Kb
  442.      für Daten.
  443.  
  444.      Hält man während des Programmstarts die Alternate-Taste gedrückt, so
  445.      bricht die Installation ab. Das Laden der SYS_MON.INF Setup-Datei
  446.      kann durch Gedrückthalten der Control-Taste unterbunden werden. Bei
  447.      Gedrückter Shift-Shift-Alternate Taste wird in die Autopatch-Sequence
  448.      verzweigt, auch wenn das TOS schon bekannt sein sollte.
  449.  
  450.  
  451.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  452.      AUFRUFEN VON SYSMON
  453.  
  454.      SysMon wird durch die Tastenkombination Rechts-Shift-HELP aufgerufen.
  455.  
  456.      Während Diskzugriffen kann der SysMon nicht betreten werden, da es
  457.      ansonsten zu Timing-Problemen kommen könnte. Die Auswertung eines
  458.      Diskzugriffs erfolgt über eine Systemvariable ( flock ). Wenn SysMon
  459.      trotzdem aufgerufen werden soll, mu₧ zusätzlich zu Rechts-Shift-HELP
  460.      die Caps-Lock Taste drückt werden.
  461.  
  462.      Wenn der SysMon aufgerufen ist, wird der Rechner angehalten. Einzig
  463.      die Interrupts laufen weiter.
  464.  
  465.  
  466.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  467.      UMSCHALTEN DES BILDSCHIRMS
  468.  
  469.      SysMon legt für seine Ausgaben eine 2. Bildschirmseite an. Diese wird
  470.      beim Aufruf SysMons automatisch angezeigt. Die 2. Seite kann beim
  471.      Tracen jederzeit durch Drücken der rechten Shift-Taste angezeigt
  472.      werden. Wenn der Tracer ausgeschaltet ist, ist auch die rechte Shift-
  473.      Taste nicht aktiv.
  474.  
  475.      Sollen hauptsächlich die Ausgaben des SysMon dargestellt werden, kann
  476.      durch gleichzeitiges Drücken der rechten Shift-Taste und der
  477.      CapsLock-Taste den aktuellen Bildschirm umgeschaltet werden. Der
  478.      Original-Bildschirm wird nun beim Drücken der rechten Shift-Taste
  479.      dargestellt.
  480.  
  481.  
  482.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  483.      SETUPS
  484.  
  485.      SysMon bietet 10 verschiedene Setups an, zwischen denen mit den
  486.      Funktionstasten F1..F10 umgeschaltet werden kann. Da fast alle
  487.      Einstellungen in SysMon vom Setup abhängig sind, hat man es nach dem
  488.      Umschalten mit einer komplett anderen Umgebung zu tun.
  489.  
  490.      Es ist möglich für jeden Anwendungsfall ein neues Setup anzulegen,
  491.      auf das später bei Bedarf zurückgegriffen werden kann.
  492.  
  493.      Beim Wechseln des Setups werden folgende Werte umgeschaltet:
  494.      - Der Zustand der einzelnen Programme.
  495.      - Der Zustand der einzelnen Funktionsgruppen.
  496.      - Der Zustand der einzelnen Funktionen.
  497.      - Der Tracemodus.
  498.  
  499.  
  500.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  501.      WRITE
  502.  
  503.      Der Menüpunkt 'Write' speichert die aktuelle Einstellung in eine
  504.      Datei SYS_MON.INF. Diese Datei wird beim Programmstart von SysMon
  505.      automatisch eingelesen und die darin enthaltenen Einstellungen
  506.      werden übernommen.
  507.  
  508.      Wenn ein Schreiben des Files gerade nicht möglich ist, wird eine
  509.      Warnung ausgegeben.
  510.  
  511.      Es werden alle Einstellungen aus den 10 Setups gespeichert. Eine
  512.      Besonderheit ist das zusätzliche Speichern des Zustandes der
  513.      einzelnen Programme. Da beim nächsten Starten nicht unbedingt
  514.      dieselben Programme gestartet werden, wird für jede Gruppe von
  515.      Programmen ( Tos, Auto, Acc, Res, Prg, LPrg, Cart, Unknown ) ein
  516.      Modus bestimmt:
  517.      - Wenn kein Programm der Gruppe angewählt ist, wird 'nicht Tracen'
  518.        für diese Gruppe gespeichert.
  519.      - Wird mindestens ein Programm der Gruppe getraced, wird 'Tracen' für
  520.        diese Gruppe gespeichert.
  521.      - Ist mindestens ein Programm der Gruppe mit einem Haltpunkt versehen,
  522.        wird für diese Gruppe ein Haltepunkt gespeichert.
  523.      - Ist kein Programm der Gruppe vorhanden, wird 'Tracen' für diese
  524.        Gruppe gespeichert.
  525.  
  526.  
  527.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  528.      REREAD
  529.  
  530.      Der Menüpunkt 'reRead' liest die SYS_MON.INF Datei nochmals ein. Wenn
  531.      ein Lesen des Files gerade nicht möglich ist oder die Datei nicht
  532.      existiert wird eine Warnung ausgegeben.
  533.  
  534.      Nach dem Einlesen werden alle Einstellungen aus der Datei übernommen.
  535.  
  536.  
  537.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  538.      VERLASSEN DES SYSMON MENUES
  539.  
  540.      Der SysMon wird durch Drücken der SPACE-Taste verlassen. Dies
  541.      funktioniert auch innerhalb der Funktionslisten und dem SysMon-Menü.
  542.  
  543.  
  544.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  545.      REGISTRATION
  546.  
  547.      SysMon ist ein ShareWare-Program. Um alle Möglichkeiten nutzen zu
  548.      können, mu₧ man SysMon erst registrieren. Im 'regIstration' Fenster
  549.      gibt man seinen Namen und den Schlüssel ein und Verlä₧t danach
  550.      SysMon über den Menüpunkt QUIT.
  551.  
  552.      Beim nächsten Start ist SysMon auf diesen Namen registriert und hat
  553.      keine Einschränkungen mehr.
  554.  
  555.      SysMon kostet 50 DM für private Nutzer und 100 DM für Nutzer aus dem
  556.      professionellen Umfeld.
  557.  
  558.      Meine Bankverbindung lautet:
  559.        Karsten Isakovic
  560.        Sparkasse der Stadt Berlin
  561.        Kto: 0950128864
  562.        Blz: 10050000
  563.  
  564.      Bitte senden Sie zuätzlich einen kurzen Brief mit Ihrer Adresse an
  565.      mich, damit ich ihnen den Schlüssel per Postkarte zuschicken kann. Ein
  566.      Update von SysMon erhalten Sie in Mailboxen oder auf FTP-Servern. Sie
  567.      können mir aber auch eine DD-Diskette mit einem frankiertem, selbst-
  568.      adressierten Rückumschlag zuschicken, auf die ich Ihnen dann neuste
  569.      Version des SysMon und ein paar weitere Programme kopiere.
  570.  
  571.      Meine Adresse lautet:
  572.        Karsten Isakovic
  573.        Wilmersdorfer Stra₧e 82
  574.        10629 Berlin
  575.  
  576.      Per Email bin ich über folgende Adressen erreichbar:
  577.        Subnetz:   ki@cs.tu-berlin.de
  578.        Mausnetz:  Karsten Isakovic @ B
  579.  
  580.  
  581.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  582.      BEENDEN VON SYSMON
  583.  
  584.      Der Menüpunkt Quit beendet SysMon nach einer Rückfrage.
  585.  
  586.      Danach wird ausgegeben, ob ein kleiner Teil vom SysMon (der SysTable),
  587.      resident im Speicher verbleiben mu₧. Dieser Programmteil wird beim
  588.      nächsten Start von SysMon erkannt und mitbenutzt, beim nächsten
  589.      Beenden von SysMon kann dann der ganze Speicher freigegeben werden.
  590.  
  591.      Ein akustisches Signal weist auf die Freigabe des residenten
  592.      Programmteils hin.
  593.  
  594.  
  595.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  596.      PROTOKOLLFILE
  597.  
  598.      Alle Ausgaben des SysMon können auch in einem File mitprotokolliert
  599.      werden. Das An- und Abschalten des Protokollfiles und die Festlegung
  600.      des Namens wird im Display-Fenster vorgenommen.
  601.  
  602.      Folgende Besonderheiten gelten im Zusammenhang mit dem Protokollfile:
  603.      - Alle Fenster von SysMon lassen sich mit der Taste * des Zehner-
  604.        blocks in das Protokollfile schreiben. Auf diese Art und Weise kann
  605.        man z.B. den Ist-Zustand des Systems dokumentieren.
  606.      - Auch die Funktionslisten lassen sich im File ablegen, um festzu-
  607.        halten, welche Funktionen im folgenden Protokoll nicht auftauchen
  608.        können, da sie nicht angewählt sind.
  609.      - Wenn kein Fenster geöffnet und nur die Menüleiste sichtbar ist,
  610.        wird durch die Dumptaste der globale Zustand des SysMon im
  611.        Protokollfile abgelegt.
  612.      - Das Notepad bietet die Möglichkeit, Kommentare während des
  613.        laufenden Fileprotokolls in das Protokollfile einfügen zu können.
  614.      - Wurde das Setup gespeichert, während ein Protokollfile geöffnet
  615.        war, wird dieses beim nächsten Starten von SysMon nicht wieder
  616.        geöffnet, da sonst ein schon bestehendes Protokollfile über-
  617.        schreiben würde.
  618.  
  619.      Es wird nur in das Protokollfile gespeichert, wenn dieses vorher
  620.      geöffnet wurde.
  621.  
  622.      Bei einem MediaChange werden alle offenen Dateien eines Laufwerks
  623.      automatisch geschlossen. Möchte man den Aufbau eines Desktop-Fensters
  624.      mitprotokollieren, mu₧ das Protokollfile auf einem anderen Laufwerk
  625.      angelegt werden, da ein Druck auf die ESC-Taste zum Neuaufbau eines
  626.      Desktopfenster einen MediaChange auslöst und die Protokolldatei
  627.      geschlossen würde.
  628.  
  629.      Die Bios-Aufrufe des Gemdos ( unter TOS ) werden alle über denselben
  630.      Stack abgewickelt; es ist nicht möglich, während eines solchen Bios-
  631.      Aufrufs einen Gemdos-Aufruf zu machen, da dieser wieder Bios-Aufrufe
  632.      zur Folge hätte, welche den Stack überschreiben würden. Aus diesem
  633.      Grunde wird in einem solchen Fall beim Öffnen oder Schlie₧en des
  634.      Protokollfiles eine Warnung ausgegeben und die Funktion nicht aus-
  635.      geführt.
  636.  
  637.      Das Mitprotokollieren dieser Aufrufe ist nur möglich, weil SysMon die
  638.      Ausgaben in solch einem Fall in einen Puffer schreibt und den Puffer
  639.      leert, sobald es wieder möglich ist. Die Grö₧e des Puffers lä₧t sich
  640.      durch eine Patchvariable verändern. Findet ein Puffer-Überlauf statt,
  641.      wird dieses im Protokollfile vermerkt.
  642.  
  643.      Unter Magix gibt es diese Stack-Problematik nicht, SysMon lä₧t die
  644.      Fileoperationen auch während Bios-Aufrufen weiterlaufen.
  645.  
  646.  
  647.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  648.      DRUCKERAUSGABE
  649.  
  650.      Neben dem Dump des Fensterinhaltes in das Protokollfile, kann der
  651.      Fensterinhalt auch direkt auf dem Drucker ausgegeben werden. Dazu
  652.      mu₧ man zusätzlich zur * Taste des Zehnerblocks noch die Alternate-
  653.      Taste gedrückt halten.
  654.  
  655.      Bei der Tastenkombination Links Shift Alternate Zehnerblock * wird
  656.      eine Hardcopy des SysMon-Bildschirms über den normalen Hardcopy-
  657.      Vektor des TOS auf dem Drucker ausgegeben. Ist dort zb ein Programm
  658.      zur Image-Hardcopy installiert, wird der SysMon-Bildschirm in ein
  659.      IMG-File abgespeichert.
  660.  
  661.  
  662. *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
  663.  
  664. DER MONITOR
  665.  
  666.      Die Fenster des Monitors (Traps, Memory, Os-Vars) erreicht
  667.      man unter dem SysMon-Menüpunkt.
  668.  
  669.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  670.      TRAPS UND VEKTOREN
  671.  
  672.      In dem Traps-Fenster wird die Liste der Systemvektoren ausgegeben,
  673.      wobei XBRA-Listen weiterverfolgt werden und die jeweiligen
  674.      Sprungziele mit dem dazugehörigem Programmnamen versehen sind.
  675.  
  676.      Es werden alle Traps und Vektoren des ST ausgegeben, auch diejenigen,
  677.      die nicht vom Betriebssystem benutzt werden.
  678.  
  679.      Auf dem TT und FALCON werden Vektoren mit 32 Bit angezeigt, auf den
  680.      anderen Rechnern mit 24 Bit.
  681.  
  682.      Da die Liste sehr lang werden kann, kann man die Anzeige bestimmter
  683.      Informationen auf Tastendruck aus-, bzw einblenden.
  684.  
  685.        Option                | Umschalten der Anzeige        TRAPS-FENSTER
  686.        ----------------------+--------------------------------------------
  687.        H - Hardware          | Hardware Vektoren
  688.        U - Unused Exceptions | Unbenutzen Vektoren
  689.        I - Interrupt         | Interrupt Vektoren
  690.        T - Trap              | Trap Vektoren
  691.        M - MFP               | MFP Vektoren
  692.        E - ETV               | Etv Vektoren
  693.        S - Special           | Special Vektoren
  694.        V - VBL               | VBL Vektoren
  695.        X - Xcon              | Xcon Device Vektoren
  696.        K - Kbd               | Kbdvbase Vektoren
  697.        L - LineA             | LineA Funktions Vektoren
  698.        ----------------------+--------------------------------------------
  699.        R - ROM               | Sprünge, die in das Betriebssystem zeigen
  700.        N - NotValid          | Vektoren mit ungültiger Zieladresse
  701.        ----------------------+--------------------------------------------
  702.  
  703.  
  704.      LIMITIERTE AUSGABE
  705.  
  706.      Mit der RETURN Taste kann die Trap-Anzeige auf die Traps des Programm
  707.      der aktuell selektierten Cursorzeile begrenzt werden. Um alle Vektoren
  708.      des Programms anzuzeigen, werden alle Optionen gesetzt. Mit der RETURN
  709.      Taste kann wieder auf das normale Anzeigenformat umgeschaltet werden.
  710.  
  711.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  712.      SPEICHERBEREICHE
  713.  
  714.      In dem Memory-Fenster wird eine sortierte Liste der Speicherbereiche
  715.      ausgegeben, in der auch die residenten Blöcke enthalten sind. Die
  716.      Liste ist dabei so sortiert, da₧ das Ende des Hauptspeichers oben und
  717.      der Anfang unten ausgegeben wird. Auf dem TT wird der FastRAM-
  718.      Speicherbereich durch eine durchgezogene Line abgetrennt.
  719.  
  720.      Jede Ausgabezeile ist nach folgendem Format aufgebaut:
  721.      - Der Adresse des Memory Descriptors wird ausgegeben.
  722.      - Auf dem TT und Falcon wird ein kleiner Kreis ausgegeben, wenn es
  723.        sich um Fast- oder Alternate-Memory handelt.
  724.      - Die Startadresse, Endadresse und die Länge des Blocks wird
  725.        ausgegeben.
  726.      - Der 'Owner' des Blocks wird ausgegeben. Bei freien Blöcken wird
  727.        stattdessen 'free', bei residenten Blöcken 'res' ausgegeben. Es
  728.        wird zusätzlich die HideMem-Konvention erkannt, d.h. wenn alle 4
  729.        Bytes des Longwords Ascii-Buchstaben sind, werden diese ausgegeben.
  730.      - Wenn möglich, wird dem Speicherbereich ein Programm zugeordnet und
  731.        dessen Name ausgegeben.
  732.      - Es werden folgende Arten unterschieden:
  733.          Programm Code         Basepages       Environments
  734.          Resource-Blöcke       Aes-Blöcke      Vdi-Blöcke
  735.          geladene Vdi-Fonts    LineF-Handler   Directory-Buffer
  736.          CPX Blöcke            CPX Code
  737.        Alles Andere wird als Data bezeichnet. Da jeweils nur wenige Bytes
  738.        zur Identifikation herangezogen werden, kann die Einordnung auch
  739.        mal daneben gehen.
  740.  
  741.      In dem Memory-Fenster sind folgende Optionen möglich:
  742.  
  743.        Option  | Erläuterung                                MEMORY-FENSTER
  744.        --------+----------------------------------------------------------
  745.        L,$     | Schaltet die Längenangabe zwischen Hex. und Dez. um
  746.        O       | Schaltet die Angabe des 'Owners' zwischen Hex. und Name
  747.                | des Programms um
  748.        --------+----------------------------------------------------------
  749.  
  750.  
  751.      MEMORY DUMP
  752.  
  753.      Im Memory-Fenster kann der aktuell angewählte Speicherbereich als
  754.      Hex- und Ascii-Dump ausgegeben werden, indem die RETURN Taste
  755.      gedrückt wird. Dies ist nur möglich, wenn die Länge des Speicherblock
  756.      kleiner als 524272 Bytes ist.
  757.  
  758.      Jede Ausgabezeile ist nach folgendem Format aufgebaut:
  759.      - Vorne steht die Speicheradresse.
  760.      - Dahinter folgen 16 Hex-Bytes.
  761.      - Am Ende jeder Ausgabezeile werden die 16-Hex-Bytes in
  762.        Ascii-Form ausgegeben.
  763.  
  764.      Mit den Cursortasten kann ein anderer Speicherabschnitt innerhalb des
  765.      Speicherblocks angewählt werden. Wird eine Cursortaste zusammen mit
  766.      der Kontrolltaste gedrückt, so wird der Cursor in grö₧eren Sprüngen
  767.      bewegt. Die Sprungweite wird über folgende Optionen gesteuert:
  768.  
  769.        Option     | Umschalten der Sprungweite                DUMP-FENSTER
  770.        -----------+-------------------------------------------------------
  771.        D - Double | Zwischen $2000 und $4000
  772.        F - Fast   | Zwischen  $400 und $1000
  773.        -----------+-------------------------------------------------------
  774.  
  775.  
  776.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  777.      SYSTEMVARIABLEN
  778.  
  779.      In dem Os Vars-Fenster werden verschiedene Variablen und Strukturen
  780.      des Betriebsystems ausgegeben.
  781.  
  782.      Die Ausgabe der einzelnen Blöcke können über die Option Kommandos
  783.      umgeschaltet werden.
  784.  
  785.        Option              | Umschalten der Ausgabe        OS-VARS-FENSTER
  786.        --------------------+----------------------------------------------
  787.        S - Systemvariables | Systemvariablen von $400 bis $5A0
  788.        N - Negativ LineA   | Negativen LineA Variablen.
  789.        L - LineA           | Positiven LineA Variablen.
  790.        V - VDI             | Daten der geladenen VDI-Workstations.
  791.        C - Cookies         | Cookies der CookieJars.
  792.        U - Pun Pointer     | Harddisk-PunPointer Struktur.
  793.        P - Programms       | Program-, Basepage- oder Cartridge-Header.
  794.        F - Fonts           | Daten der geladenen Fonts.
  795.        H - Header          | Header des Betriebssystems.
  796.        --------------------+----------------------------------------------
  797.  
  798.      Die Vektoren zwischen $400 bis $5A0, die schon unter dem Menüpunkt
  799.      Traps ausgegeben werden, werden der Vollständigkeit halber wiederholt.
  800.      Es findet kein Verfolgen von XBRA-Ketten statt.
  801.  
  802.  
  803.  
  804. *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
  805.  
  806. DER TRACER
  807.  
  808.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  809.      ALLGEMEINE BEDIENUNG
  810.  
  811.      Der Zustand des Tracers kann direkt in der Menüleiste von SysMon
  812.      abgelesen werden.
  813.  
  814.        ___________________________________________________________________
  815.        ⌠  Sys-Mon  Aes  Vdi  Gemdos  Bios  Xbios  LineA   1:SysMon       ⌠
  816.        ⌡--------------------------------------------------------Run-Mode-⌡
  817.  
  818.      Der Tracer wird mit der ESC-Taste ein-/ausgeschaltet. Im ein-
  819.      geschalteten Zustand wird der SysMon-Menüeintrag vollständig gro₧
  820.      geschrieben.
  821.  
  822.      Die einzelnen Funktionsgruppen werden durch die entsprechende Kontroll-
  823.      taste ( ^A für AES,  ^V für VDI... ) ein-/ausgeschaltet. Auch hierbei
  824.      gilt, da₧ der Name der Funktionsgruppe vollständig gro₧ geschrieben
  825.      wird, wenn die Funktionsgruppe getraced wird.
  826.  
  827.      Die Nummer und der Name des aktuellen Setups werden rechts ausgegeben.
  828.      Zwischen den 10 Setups kann mit den Funktionstasten umgeschaltet
  829.      werden.
  830.  
  831.      In der zweiten Zeile wird der Trace-Modus ausgegeben. Dieser kann
  832.      mit der TAB-Taste zwischen den 4 Modi umgeschaltet werden.
  833.  
  834.  
  835.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  836.      FUNKTIONSLISTEN
  837.  
  838.      In den Funktionslisten jeder Funktionsgruppe kann für jede einzelne
  839.      Funktion ein Modus angegeben werden. Dieser Modus bestimmt das
  840.      Verhalten des Tracers beim Aufruf der jeweiligen Funktion.
  841.  
  842.      Am Ende jeder Funktionsliste findet sich ein Eintrag 'Unknown
  843.      Function'. Der Modus dieses Eintrags bestimmt den Modus von
  844.      Funktionen, die zwar der jeweiligen Funktionsgruppe angehören, aber
  845.      keine Betriebssystem-Funktionen sind (Einige residente Programme
  846.      bieten erweiterte Funktionen über vom Betriebssystem unbenutze
  847.      Funktionsnummern an.).
  848.  
  849.      Die Tabelle zeigt alle Modi, die für die einzelnen Funktionen
  850.      möglich sind. Die zugehörige Taste wird nur angegeben, wenn sie
  851.      nicht mit dem dargestellten Zeichen übereinstimmt.
  852.  
  853.        Zeichen | Modus         | Erläuterung                 FUNKTIONSMODI
  854.        --------+---------------+------------------------------------------
  855.        Leer    | Nicht Tracen  | Aufrufe dieser Funktion werden nicht
  856.                |               | angezeigt. Dieser Modus wird mit der
  857.                |               | DELETE-Taste eingeschaltet.
  858.        Plus    | Tracen        | Alle Aufrufe dieser Funktion werden
  859.                |               | angezeigt, sofern sie von Programmen
  860.                |               | stammen, die auch angewählt sind. Das
  861.                |               | Tracen wird mit der Insert-Taste
  862.                |               | eingeschaltet.
  863.        Kreis   | Breakpoint    | Kennzeichnet einen Haltepunkt. Wenn der
  864.                |               | Tracer im Wait-Modus arbeitet, wird hinter
  865.                |               | diesem Funktions-Aufruf automatisch der
  866.                |               | SysMon betreten. Dieser Modus wird mit der
  867.                |               | ~ (Tilde)-Taste eingeschaltet.
  868.        --------+---------------+------------------------------------------
  869.        0...9   | Setup-Mode    | Aufrufe dieser Funktion werden ausgegeben,
  870.                |               | wenn das aufrufende Programm im
  871.                |               | angegebenen Setup angewählt ist.
  872.        *       | All-Mode      | Alle Aufrufe dieser Funktion werden
  873.                |               | angezeigt, auch wenn das zugehörige
  874.                |               | Programm nicht angewählt ist.
  875.        I und O | Debugger-Mode | Vor bzw. nach Ausführung der Funktion
  876.                |               | wird in den Maschinensprache-Debugger
  877.                |               | verzweigt.
  878.        --------+---------------+------------------------------------------
  879.  
  880.      Der komplexeren Modi 'Setup-Mode', 'All-Mode' und 'Debugger-Mode'
  881.      werden im Abschnitt KOMPLEXERE TRACER-MODI näher erläutert.
  882.  
  883.  
  884.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  885.      PROGRAMM FENSTER
  886.  
  887.      Im Programs-Fenster findet man eine Liste der geladenen Programme.
  888.      Für jedes Programm kann bestimmt werden, ob die Systemaufrufe
  889.      ausgegeben werden sollen.
  890.  
  891.      Der Eintrag 'Unknown Program' bestimmt den Modus von Aufrufen, die
  892.      nicht aus dem Codebereich der geladenen Programme stammen.
  893.  
  894.  
  895.      Die Ausgabezeilen des Fensters sind folgenderma₧en aufgebaut:
  896.  
  897.      - Am Anfang der Zeile wird der Speicherbereich des Programms
  898.        ausgegeben.
  899.      - Bei den Programmnamen gelten folgende Konventionen:
  900.        - Der Programmname wird gro₧ geschrieben, wenn SysMon der genaue
  901.          Name bekannt ist.
  902.        - Die Namen in gemischter Gro₧/Kleinschreibung werden von SysMon
  903.          vergeben, wenn das Programm eine XBRA-Kennung benutzt.
  904.        - Die Namen Acc_A, Auto_A, Prg_A usw. werden vergeben, wenn SysMon
  905.          nur den Typ des Programms erkennt.
  906.        Ein Name in gemischter Schreibweise kann editiert werden. Die
  907.        Editiermöglichkeit eines Names ist auch an der Klammerung in
  908.        >>..<< zu erkennen. Es können nur Gro₧buchstaben eingegeben werden.
  909.        Um Zeichen zu löschen ist nur die Backspace-Taste zugelassen. Ein
  910.        leerer Name ist unzulässig und wird daher durch Fragezeichen
  911.        ersetzt.
  912.      - Der Trace Zustand des Progamms wird mit den üblichen Symbolen
  913.        aus Tabelle FUNKTIONSMODI angezeigt.
  914.      - Bei Programm, auf das der ActPd Vektor zeigt, wird ein R-Symbol
  915.        ausgegeben. Bei Funktionsaufrufen durch Accessories ist das GEM der
  916.        aktuelle Proze₧.
  917.      - Die Appl-Id wird ausgegeben. Bei Stuffer und ähnlichen Multi-
  918.        Accessories oder bei mehreren verschachtelt geladenen Programmen
  919.        werden manche Ids mehrfach ausgegeben. Diese Angabe ist nur
  920.        möglich, wenn SysMon den AES-Trap mittraced, oder wenn SysMon den
  921.        internen Aufbau der AES-Listen des Betriebssystems kennt.
  922.      - Die benutzen Vdi-Handles werden ausgegeben. Diese Angabe ist nur
  923.        möglich, wenn SysMon den VDI-Trap mittraced.
  924.      - Am Ende der Zeile wird die Art des Programms ausgegeben:
  925.  
  926.        Art  | Erläuterung                                    PROGRAMMARTEN
  927.        -----+-------------------------------------------------------------
  928.        TOS  | wird nur für die beiden Betriebssystem-Teile TOS und GEM
  929.             | und GEM benutzt.
  930.        Auto | wird ausgegeben, wenn das Programm im Auto-Ordner gestartet
  931.             | wurde. Diese Programme sind resident geladen.
  932.        Acc  | wird für Accessories verwendet.
  933.        Prg  | wird bei normal geladenen Programmen benutzt.
  934.        Res  | wird bei resident geladenen Programmen benutzt.
  935.        LPrg | wird bei Programmen benutzt, deren Codebereich einem anderen
  936.             | Proze₧ gehören. (loaded program)
  937.        Cart | wird bei Programmen benutzt, die in einer Cartridge gefunden
  938.             | wurden.
  939.        -----+-------------------------------------------------------------
  940.  
  941.  
  942.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  943.      NEUE PROGRAMME FENSTER
  944.  
  945.      Im New-Program-Fenster kann man für jede Programmgruppe (Prg, LPrg,
  946.      Res,  Auto, Acc, Cpx) den Status angeben, der für neugestartete
  947.      Programme anzuwenden ist.
  948.  
  949.      Diese Werte werden auch im Setup-File SYS_MON.INF abgespeichert.
  950.  
  951.  
  952.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  953.      DARSTELLUNGS FENSTER
  954.  
  955.      Das Display-Fenster enthält alle Einstellungen, die die Ein-/Ausgabe
  956.      betreffen.
  957.  
  958.      Die Umschaltungen des Ein-/Ausgabe-Gerätes gelten nur für die Tracer-
  959.      Ausgaben, die Darstellung der SysMon-Benutzeroberfläche erfolgt immer
  960.      auf der 2. Bildschirmseite. Änderungen des Ein-/Ausgabe-Gerätes
  961.      sind erst nach Verlassen des SysMon Bildschirms gültig.
  962.  
  963.        Taste           | Erläuterung                       DISPLAY-FENSTER
  964.        ----------------+--------------------------------------------------
  965.        I - Input       | schaltet die Eingabe zwischen Tastatur, RS-232,
  966.                        | Parallelport und Midiport um.
  967.        O - Output      | schaltet die Ausgabe zwischen 2. Bildschirmseite,
  968.                        | RS-232, Parallelport und Midiport um.
  969.        F - FileOutput  | schaltet das Protokollfile an/aus. Ist ein Öffnen
  970.                        | oder Schlie₧en zur Zeit nicht möglich, wird eine
  971.                        | Warnung ausgegeben. Siehe Abschnitt PROTOKOLLFILE.
  972.                        | Sollte das File schon existieren, so hat man die
  973.                        | Möglichkeit, es zu überschreiben, die Ausgaben
  974.                        | anzuhängen oder abzubrechen.
  975.        N - Name        | wechselt in den Editiermodus für den Namen des
  976.                        | Protokollfiles. Gültige Eingaben sind Buchstaben,
  977.                        | Zahlen, Punkt, Doppelpunkt, Unterstrich und der
  978.                        | Backslash. Andere Eingaben beenden die
  979.                        | Namenseingabe.
  980.        J - JumpScroll  | gibt an, wieviele Zeilen im Run-Modus auf einmal
  981.                        | gescrollt werden sollen. Bei einem Wert von 10
  982.                        | wird der Bildschirm um 10 Zeilen nach oben
  983.                        | gescrollt und 10 Zeilen ohne Scrollen ausgegeben.
  984.                        | Da die Scrollroutine jetzt nur alle 10 Zeilen
  985.                        | aufgerufen werden mu₧, ist die Ausgabe-
  986.                        | geschwindigkeit wesentlich erhöht.
  987.        S - STEP-Filter | gibt an, wieviele Zeilen im Step-Modus ohne
  988.                        | Nachfrage ausgeführt werden sollen.
  989.        P - Pause       | schaltet die Pausen Option um. Wenn Pause
  990.                        | angewählt ist, wird bei jedem Drücken der rechten
  991.                        | Shifttaste und dem damit verbundenen Anzeigen
  992.                        | des SysMon-Bildschirms gewartet, bis die Shift-
  993.                        | Taste wieder losgelassen wird. Ausserdem kann man
  994.                        | eine Wartezeit in ms anwählen, die hinter jeder
  995.                        | dargestellten Ausgabezeile gewartet wird. Ist der
  996.                        | SysMon--Bildschirm nicht sichtbar, wird die
  997.                        | Ausgabe nicht verzögert.
  998.        L - List output | bestimmt die Art der Sortierung in den Funktions-
  999.                        | listen. Diese können entweder nach Funktions-
  1000.                        | nummern oder nach Funktionsnamen sortiert werden.
  1001.        ----------------+--------------------------------------------------
  1002.  
  1003.  
  1004.      Bei 'JumpScroll', 'STEP-Filer' und 'Pause' kann durch zusätzliches
  1005.      Gedrückthalten der Shifttaste der eingestellte Wert auch vermindert
  1006.      werden.
  1007.  
  1008.  
  1009.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1010.      KONFIGURATIONS FENSTER
  1011.  
  1012.      Das Configuration-Fenster ist eine Übersicht über alle 10 Setups. Die
  1013.      Umschaltung der einzelnen Elemente der Ausgabezeile erfolgt mit den
  1014.      Kontrolltasten, die der Tabelle KONTROLLTASTEN zu entnehmen sind.
  1015.  
  1016.      Jede Zeile des Fensters hat folgenden Aufbau:
  1017.      - Zuerst kommt der Name des Setups, der editiert werden kann.
  1018.        Um Zeichen zu Löschen ist nur die Backspace-Taste zugelassen.
  1019.      - Beim Tracermodus wird entweder Run, Step, Wait oder Halt
  1020.        ausgegeben.
  1021.      - Der Zustand der einzelnen Betriebssystemfunktionen wird durch
  1022.        die Anfangsbuchstaben verdeutlicht, bei AGX wird folglich AES,
  1023.        GEMDOS und XBIOS getraced.
  1024.      - Das Format jeder Tracer-Ausgabezeile wird durch die Anfangsbuch-
  1025.        staben der Optionen ausgegeben. Hierbei steht R für ReturnAddr,
  1026.        C für Caller, N für Number, O für OutputStack, F für FlagSuper,
  1027.        E für Extra und W für WatchBypass.
  1028.      - Der Zustand der Überwachungsfunktionen für Pd-Wechsel und Trap-
  1029.        Änderungen werden mit den Buchstaben P und T ausgegeben.
  1030.  
  1031.      Das aktuelle Setup kann mit den Cursortasten oder durch die
  1032.      Funktionstasten gewechselt werden.
  1033.  
  1034.  
  1035.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1036.      PROFILING FENSTER
  1037.  
  1038.      Im proFile-Fenster kann das Profiling ein/aus geschaltet werden.
  1039.      Profiling bedeutet, da₧ die Anzahl jedes Aufrufs mitgezählt wird. Die
  1040.      Ausgabe der Aufruf-Anzahl erfolgt in den Funkionslisten rechts neben
  1041.      der jeweiligen Funktion.
  1042.      Durch Profiling erhält man einen Überblick über die am häufigsten
  1043.      verwendeten Aufrufe.
  1044.  
  1045.        Taste         | Erläuterung                         PROFILE-FENSTER
  1046.        --------------+----------------------------------------------------
  1047.        P - Profile   | schaltet das Profiling an/aus. Die Daten werden
  1048.                      | hierbei nicht gelöscht, so da₧ eine Zählpause
  1049.                      | möglich ist.
  1050.        D - Dump      | schreibt die beim Profiling gewonnenen Daten in das
  1051.                      | Protokollfile. Sollte kein Protokollfile geöffnet
  1052.                      | sein, so wird es geöffnet und nach dem Schreiben
  1053.                      | wieder geschlossen.
  1054.        S - ShowFunc. | schaltet um, ob die einzelnen Funktionen  während
  1055.                      | des Zählens ausgegeben werden sollen.
  1056.        C - Clear     | Löscht alle Profiling-Daten.
  1057.        --------------+----------------------------------------------------
  1058.  
  1059.  
  1060.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1061.      NOTIZBLOCK FENSTER
  1062.  
  1063.      Das Notepad-Fenster bietet eine Möglichkeit Kommentare einzugeben.
  1064.      Dieser Kommentar kann dann in das Protokollfile eingefügt werden, um
  1065.      so zusätzliche Informationen und Bemerkungen gleich bei der Erstellung
  1066.      des Protokollfiles eingeben zu können.
  1067.  
  1068.      Die aktuelle Eingabezeile wird durch >>...<< geklammert. Als Eingaben
  1069.      sind alle ASCII-Zeichen zulässig. Es sind nur minimale Möglichkeiten
  1070.      zum Editieren vorgesehen, au₧er den Cursortasten haben folgende
  1071.      Tasten eine Sonderfunktionen:
  1072.  
  1073.        Taste | Erläuterung                                 NOTEPAD-FENSTER
  1074.        ------+------------------------------------------------------------
  1075.        CLR   | löscht das ganze Fenster.
  1076.        BS    | löscht den letzten Buchstaben. Zusammen mit einer Shift-
  1077.              | Taste wird eine ganze Zeile gelöscht.
  1078.        CR    | bewegt den Cursor eine Zeile nach unten.
  1079.        ------+------------------------------------------------------------
  1080.  
  1081.      Bei einem Dump in ein Protokollfile werden nur diejenigen Zeilen aus-
  1082.      gegeben, in denen auch etwas eingegeben wurde. Möchte man eine
  1083.      Leerzeile im Kommentar erzeugen, mu₧ man zumindest ein Leerzeichen in
  1084.      die Zeile einfügen.
  1085.  
  1086.  
  1087.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1088.      STATUS FENSTER
  1089.  
  1090.      Das Used-Traps-Fenster liefert eine Übersicht über die von SysMon
  1091.      benutzten Traps und Bypasse und über die Funktionen, die zwar auf-
  1092.      gerufen, aber noch nicht vom Betriebssystem abgearbeitet wurden.
  1093.  
  1094.      Das Format der Bypass- und Trap-Ausgabe ist:
  1095.      - Links wird der Vorgänger aufgeführt, also ein Trap oder ein
  1096.        Programm, das daraufhin den SysTable anspringt.
  1097.      - In der Mitte wird die Adresse des SysTable Sprungziels ausgegeben.
  1098.      - Rechts wird der Nachfolger ausgegeben, der von der SysTable
  1099.        angesprungen wird.
  1100.      - Ganz rechts gibt es noch einen Buchstabenkürzel, der den Vektor
  1101.        kennzeichnet. A/V steht für AesVdi, G für Gemdos usw.
  1102.  
  1103.      Durch die Taste 'M' wird zwischen den 2 Darstellungsarten
  1104.      umgeschaltet:
  1105.      - Die aktiven Traps und Bypasse werden getrennt ausgegeben. Dabei
  1106.        werden die Bypasse in der Reihenfolge aufgeführt, in der sie auch
  1107.        angesprungen werden.
  1108.      - Die Traps und Bypasse eines Vektors werden vermischt ausgegeben,
  1109.        so da₧ die Reihenfolge von der Trap Adresse bis zum letzten Bypass
  1110.        der Ansprungreihenfolge entsprechen.
  1111.  
  1112.      In einer weiteren Liste werden diejenigen Funktionen angezeigt, die
  1113.      noch nicht aus den Traps zurückgekehrt sind. Siehe dazu das Kapitel
  1114.      INTERNA.
  1115.  
  1116.  
  1117.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1118.      DAS STEP MENUE
  1119.  
  1120.      Beim Tracen im Step-Modus stoppt SysMon nach jeder ausgegebenen
  1121.      Funktion und wartet auf eine Eingabe.
  1122.  
  1123.        Taste         | Erläuterung                               STEP-Menü
  1124.        --------------+----------------------------------------------------
  1125.        M - Menü      | betritt das SysMon-Menü. Wird das SysMon-Menü durch
  1126.                      | SPACE verlassen, gelangt man wieder in das
  1127.                      | Step-Menü.
  1128.        0--9          | wählt, genauso wie die 10 Funktionstasten, das
  1129.                      | aktuelle Setup aus. Die Tasten 0-9 sind zusätzlich
  1130.                      | notwendig, da die Funktionstasten nicht über alle
  1131.                      | Eingabedevices eingegeben werden können.
  1132.        Kontrolltaste | Die SysMon KONTROLLTASTEN gelten auch im Step-Menü.
  1133.        --------------+----------------------------------------------------
  1134.  
  1135.      Jede andere Taste beendet das Step-Menü und führt das laufende
  1136.      Programm fort.
  1137.  
  1138.      Im Display-Fenster kann unter Step-Filter die Anzahl der Zeilen ein-
  1139.      gestellt werden, die ohne Anzuhalten im Step-Modus durchlaufen werden
  1140.      sollen.
  1141.  
  1142.  
  1143.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1144.      TRACE AUSGABE
  1145.  
  1146.      Die gro₧e Fläche unter der Menüleiste steht für die Ausgaben des
  1147.      Tracers zur Verfügung. Es gibt auch die Möglichkeit in den Trace-
  1148.      Ausgaben zurückzublättern.
  1149.  
  1150.      Der ansonsten unsichtbare Cursor kann mit den Cursor-Kommandos aus
  1151.      der Tabelle TASTEN bewegt werden, wenn kein Fenster geöffnet ist.
  1152.      Der Cursor bleibt solange sichtbar, bis SysMon mit SPACE verlassen
  1153.      wird. Der Bildschirm springt dann wieder an das Ende der Tracer-
  1154.      Ausgaben.
  1155.  
  1156.      Die Anzahl der gepufferten Zeilen kann man durch eine Patchvariable
  1157.      festlegen (Siehe Abschnitt PATCHVARIABLEN). Als Default werden 50
  1158.      Zeilen zusätzlich zu den sichtbaren Bilschirmzeilen angelegt.
  1159.  
  1160.  
  1161. *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
  1162.  
  1163. DIE AUSGABEZEILE DES TRACERS
  1164.  
  1165.      Die Elemente der Ausgabezeile können über Kontrolltasten ein-/aus-
  1166.      geschaltet werden. Der Anfangsbuchstabe des Namens eines Elementes
  1167.      entspricht dabei der Kontrolltaste.
  1168.  
  1169.      Die Ausgabezeile hat folgendes Format, wenn alle Elemente ein-
  1170.      geschaltet sind:
  1171.  
  1172.        Element     | Erläuterung                              AUSGABEZEILE
  1173.        ------------+------------------------------------------------------
  1174.        >           | Wird ausgegeben, wenn beim Tracen ein Taskwechsel
  1175.                    | stattgefunden hat. Diese Ausgabe lä₧t sich nicht
  1176.                    | abschalten.
  1177.        ReturnAddr  | gibt die Rücksprungaddresse der Funktion aus.
  1178.        Caller      | gibt den Namen des aufrufenden Programms aus.
  1179.        Number      | zeigt hinter einem Kennbuchstaben für die Funktions-
  1180.                    | gruppe ( A für Aes ... L für LineA und O für Other )
  1181.                    | die Funktionsnummer an.
  1182.        OutputStack | gibt den aktuellen Stackpointer aus.
  1183.        FlagSuper   | gibt einen kleinen Punkt aus, wenn der Aufruf aus dem
  1184.                    | Supervisormodus stattgefunden hat.
  1185.        ------------+------------------------------------------------------
  1186.  
  1187.      Hinter diesem Header wird der Funktionsname ausgegeben. Treten bei
  1188.      den Aufrufen Verschachtelungen auf, werden die Funktionsnamen ein-
  1189.      gerückt. Kehrt die Funktion dann später zurück, wird der Header noch
  1190.      einmal ausgegeben.
  1191.  
  1192.  
  1193.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1194.      EINGABE PARAMETER
  1195.  
  1196.      Hinter dem Funktionsnamen werden die Eingabe-Parameter ausgegeben,
  1197.      wobei Werte, die als Konstanten definiert sind, im Klartext ausgegeben
  1198.      werden. Hat eine Funktion mehrere Eingabe-Parameter, so werden vor
  1199.      jedem Parameter kurze Texte ausgegeben. Die Reihenfolge der Parameter
  1200.      entspricht der C-Deklaration dieser Funktion. Bei 'Call by Reference'
  1201.      Parametern wird deren Wert erst bei den Ausgabeparametern angegeben.
  1202.  
  1203.      Entsprechend der C-Notation werden Character-Variablen in '...',
  1204.      Strings in "..." und Strukturen in {...} eingeschlossen. Vor jeder
  1205.      Struktur wird der Name und Adresse der Datenstruktur ausgegeben. Für
  1206.      die meisten Strukturen mu₧ die Ausgabe der einzelnen Elemente erst
  1207.      über die Kontrolltaste 'ExtraOutput' aktiviert werden. Bitsets werden
  1208.      als ( xxx + yyy + zzz  ) ausgegeben.
  1209.  
  1210.  
  1211.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1212.      TRENNZEICHEN
  1213.  
  1214.      Um die Ausgabe Parameter optisch von den Eingabe-Parameten abzuheben,
  1215.      wird ein '->' als Trennzeichen ausgegeben. Dies geschieht erst, wenn
  1216.      die Funktion aus dem Trap zurückkehrt. Das Trennzeichen wird auch
  1217.      ausgegeben, wenn eine Funktion keine Ausgabe-Parameter hat.
  1218.  
  1219.      Im Sondermodus 'WatchBypass' wird das Trennzeichen '->' durch
  1220.      '-[ProgrammName]->' ersetzt, falls die Funktion von einem anderen
  1221.      Programm abgefangen wurde. Hat sich ein Programm hinter einen Aufruf
  1222.      gehängt, so wird '-{ProgrammName}->' verwendet.
  1223.  
  1224.  
  1225.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1226.      AUSGABE PARAMETER
  1227.  
  1228.      Hinter dem Trennzeichen werden die Ausgabe-Parameter der Funktion
  1229.      ausgegeben. Bei mehreren 'Call by Reference' Parametern werden vor
  1230.      jedem Parameter kurze Texte zur Identifikation ausgegeben.
  1231.  
  1232.      Die Notation der Ausgabe-Parameter entspricht der Notation für die
  1233.      Eingabe-Parameter.
  1234.  
  1235.  
  1236.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1237.      RUECKGABEWERT
  1238.  
  1239.      Der Rückgabewert einer Funktion wird immer am Ende ausgegeben, sind
  1240.      Ausgabeparameter vorhanden, so wird ein 'Ret' vorrangestellt. Fehler-
  1241.      meldungen des Betriebssystems werden im Klartext ausgegeben.
  1242.  
  1243.  
  1244.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1245.      WEITERE TRACER AUSGABE MOEGLICHKEITEN
  1246.  
  1247.      Beim Tracer existieren noch weitere Möglichkeiten, um die Ausgabezeile
  1248.      zu beeinflussen oder erweiterte Tracer-Ausgaben zu erzeugen.
  1249.  
  1250.        Element     | Erläuterung                           TRACER-AUSGABEN
  1251.        ------------+------------------------------------------------------
  1252.        ExtraOutput | schaltet zusätzliche Ausgaben ein.
  1253.        WatchBypass | beeinflusst die Üerwachung des Funktionsablaufes.
  1254.        TrapChange  | erzeugt Ausgaben, wenn sich die vom SysMon
  1255.                    | beobachteten Systemvektoren verändern.
  1256.        PD_Change   | erzeugt Ausgaben, wenn sich der ActPD verändert.
  1257.        ------------+------------------------------------------------------
  1258.  
  1259.  
  1260.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1261.      ERWEITERTE AUSGABEN
  1262.  
  1263.      Mit der Kontrolltaste Taste ^E (ExtraOutput) kann die Ausgabe von
  1264.      zusätzlichen Informationen eingeschaltet werden. Dies sind Werte, die
  1265.      nicht direkt auf dem Stack liegen, aber im Zusammenhang mit der
  1266.      Funktion stehen. Das ist z.B die Ausgabe des Filenamens bei Gemdos
  1267.      Funktionen, die nur einen Filehandle benutzen, der Text von
  1268.      selektierten AES-Objekten oder die Ausgabe der Elemente von über-
  1269.      gebenen Strukturen, z.B. der DTA-Struktur bei den Gemdos Funktionen
  1270.      Fsfirst und Fsnext oder dem MFDB bei Vdi Funktionen.
  1271.  
  1272.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1273.      PD UND TRAP WECHSEL
  1274.  
  1275.      Ein Wechseln des aktuellen Proze₧es und Veränderungen der SysMon-Traps
  1276.      werden vom Tracer angezeigt, wenn die Anzeige mit den Kontrolltasten
  1277.      ^P (für Pd-Change) und ^T (für Trap-Change) aktiviert ist.
  1278.  
  1279.      Die Problematik der Trap-Überwachung wird im Abschnitt INTERNA
  1280.      behandelt.
  1281.  
  1282.  
  1283.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1284.      SETUP ABHAENGIGES TRACEN
  1285.  
  1286.      Das setup-abhängige Tracen kann über die Modi 0..9 in den Funktions-
  1287.      listen eingestellt werden. Unabhängig von der Einstellung im Program-
  1288.      Fenster wird ein Aufruf ausgegeben, wenn das aufrufende Programm im
  1289.      angegebenen Setup angewählt ist.
  1290.  
  1291.      Da dies ziemlich kompliziert ist, hier ein Beispiel:
  1292.  
  1293.        Man möchte das Vdi-Tracen und zwar nicht nur die Aufrufe von
  1294.        Programmen, sondern auch die Aufrufe des GEM durch das AES.
  1295.  
  1296.        Einige Vdi-Aufrufe des Gem finden aber permanent statt:
  1297.  
  1298.          vq_mouse, vrq_string usw...
  1299.  
  1300.        Möchte man diese 'permanenten' Aufrufe nicht sehen, so könnten
  1301.        sie ohne setup-abhängiges Tracen nur komplett abgeschaltet werden.
  1302.  
  1303.      Für dieses Problem ist das setup-abhängige Tracen gedacht:
  1304.  
  1305.        Das aktuelle Setup sei '1', es sind alle Programme angewählt, auch
  1306.        Tos/Gem. Im Setup '2' sind auch alle Programme angewählt, aber
  1307.        Tos/Gem nicht. Wird nun bei den 'permanenten' Aufrufen der Modus
  1308.        '2' vergeben, so gilt bei diesen die Einstellung des Setups '2'.
  1309.        D.h. wenn sie durch das Tos/Gem ausgelöst wurden, werden sie nicht
  1310.        ausgegeben, wohl aber aber allen anderen Programmen.
  1311.        Die anderen Vdi-Funktionen werden entsprechend der Einstellung von
  1312.        Setup '1' ausgegeben, also auch, wenn sie von Tos/Gem stammen.
  1313.  
  1314.  
  1315.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1316.      PROGRAMM UNABHAENGIGES TRACEN
  1317.  
  1318.      Das programm-unabhängige Tracen kann über den Modus '*' in den
  1319.      Funktionslisten eingestellt werden. Ein Aufruf wird ausgegeben, auch
  1320.      wenn das aufrufende Programm nicht angewählt ist.
  1321.  
  1322.      Der All-Modus ist sinnvoll einzusetzen, wenn es egal ist, welches
  1323.      Programm den Aufruf auslöst. Im Zusammenhang mit dem Step-Modus kann
  1324.      der Rechner vor der Ausführung des Aufrufs angehalten werden.
  1325.  
  1326.  
  1327.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1328.      DEBUGGER MODI
  1329.  
  1330.      In manchen Fällen ist es sinnvoll, einen einzelnen Aufruf auf
  1331.      Maschinensprache-Ebene verfolgen zu können. SysMon bietet deshalb
  1332.      zwei Debugger-Modi an, die beim Auftreten der Funktion einen
  1333.      Maschinensprache-Debugger aufrufen. Die beiden Modi können mit den
  1334.      Tasten 'I' und 'O' in den Funktionslisten eingestellt werden.
  1335.  
  1336.      Im Groben entsprechen die Modi dem Modus 'Tracen', die Parameter
  1337.      werden ganz normal ausgegeben. Die Modi unterscheiden sich nur
  1338.      hinsichtlich des Zeitpunktes, an dem in den Debugger verzweigt wird.
  1339.  
  1340.         Modus  | Erläuterung                                 DEBUGGER-MODI
  1341.        --------+----------------------------------------------------------
  1342.        I - In  | Es wird vor dem Aufruf der eigentlichen Funktion, aber
  1343.                | nach der Ausgabe der Eingabeparameter in den Debugger
  1344.                | gesprungen.
  1345.        O - Out | Es wird erst in den Debugger gesprungen, nachdem der
  1346.                | Aufruf aus dem Trap zurückgekehrt ist und die Ausgabe-
  1347.                | parameter ausgegeben wurden.
  1348.        --------+----------------------------------------------------------
  1349.  
  1350.      Der 'I' Modus wird zur Zeit nur vom TempleMon, der 'O' Modus vom
  1351.      TempleMon und BugaBoo unterstützt. Ist kein Debugger geladen, so wird
  1352.      wie bei dem Modus 'Tracen' verfahren.
  1353.  
  1354.  
  1355. *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
  1356.  
  1357. DIE TASTENKOMBINATIONEN VON SYSMON
  1358.  
  1359.      Dieses Kapitel bietet eine Übersicht über alle in SysMon benutzen
  1360.      Tastaturkommandos.
  1361.  
  1362.  
  1363.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1364.      CURSOR KOMMANDOS
  1365.  
  1366.      Der Cursor kann in den Menüs und Fenstern mit folgenden Tasten-
  1367.      kombinationen bewegt werden:
  1368.  
  1369.        Zustand       |  Taste        | Bedeutung           CURSOR-BEWEGUNG
  1370.        --------------+---------------+------------------------------------
  1371.                      | Links, Rechts | Wechseln des Menüpunktes
  1372.                      | Rauf,  Runter | Rauf bzw. Runter
  1373.        Shift         | Rauf,  Runter | Seitenweise Rauf / Runter
  1374.                      | Home          | Anfang
  1375.        Shift         | Home          | Ende
  1376.        --------------+---------------+------------------------------------
  1377.        Control       | Rauf,  Runter | Auswählen eines Blocks
  1378.        Control       | Home          | Block bis Anfang
  1379.        Control-Shift | Home          | Block bis Ende
  1380.        --------------+---------------+------------------------------------
  1381.  
  1382.      Das  Auswählen eines Blocks ist nur in den Funktionslisten möglich.
  1383.      Die Blockauswahl wird durch eine beliebige andere Cursortaste ab-
  1384.      gebrochen.
  1385.  
  1386.      Die Einträge in Menüs und Dialog-Fenstern werden ausgewählt, indem
  1387.      sie mit dem Cursor selektiert und durch die RETURN-Taste bestätigt
  1388.      werden. Eine andere Möglichkeit ist die Eingabe des Kennbuchstabens
  1389.      des Eintrags. Der Kennbuchstabe ist jeweils der einzige Gro₧buchstabe
  1390.      innerhalb des Eintrags.
  1391.  
  1392.  
  1393.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1394.      OPTION KOMMANDOS
  1395.  
  1396.      In Optionen-Fenstern werden die einzelnen Optionen durch die
  1397.      jeweiligen Kennbuchstaben, die oben rechts in der Ecke des Fensters
  1398.      ausgeben werden, umgeschaltet. Wird ein Buchstabe in der Optionen-Liste
  1399.      gro₧ geschrieben, so ist die zugehörige Option angeschaltet.
  1400.  
  1401.      Zusätzlich gelten folgende Tastaturkommandos:
  1402.  
  1403.        Zustand | Taste        | Bedeutung                 OPTION-KOMMANDOS
  1404.        --------+--------------+-------------------------------------------
  1405.        Control | Rauf, Runter | Zum nächsten Blockanfang springen
  1406.                | Delete       | Alle Optionen löschen
  1407.                | Insert       | Alle Optionen setzen
  1408.        --------+--------------+-------------------------------------------
  1409.  
  1410.  
  1411.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1412.      FUNKTIONSLISTEN KOMMANDOS
  1413.  
  1414.      In Funktionslisten kann der Modus der aktuellen Funktion oder des
  1415.      angewählten Blockes durch Drücken der folgenden Tasten bestimmt
  1416.      werden:
  1417.  
  1418.        Taste  | Darstellung  | Bedeutung                  LISTEN-KOMMANDOS
  1419.        -------+--------------+--------------------------------------------
  1420.        Delete | Leerzeichen  | Ignorieren
  1421.        Insert | Pluszeichen  | Anzeigen
  1422.        Tilde  | Kreiszeichen | Haltepunkt
  1423.        -------+--------------+--------------------------------------------
  1424.        0..9   | 0..9         | setup-abhängiges Tracen
  1425.        I,O    | I,O          | Debugger-Modi
  1426.        *      | *            | All-Mode
  1427.        -------+--------------+--------------------------------------------
  1428.  
  1429.  
  1430.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1431.      KONTROLLTASTEN KOMANDOS
  1432.  
  1433.      Die Kontrolltasten sind die wichtigsten Tastenkombinationen des
  1434.      SysMon. Sie gelten in allen Fenstern und Menüs und auch im Step-Menü.
  1435.  
  1436.        Taste  | Erläuterung          |                      KONTROLLTASTEN
  1437.        -------+----------------------+------------------------------------
  1438.        ESCAPE | Tracer an/aus        |
  1439.        TAB    | Tracer Modus ändern  |
  1440.        F1-F10 | Setup Änderung       |
  1441.        -------+----------------------+------------------------------------
  1442.        ^A     | Aes                  | Funktionsgruppen an/aus
  1443.        ^V     | Vdi                  |
  1444.        ^G     | Gemdos               |
  1445.        ^B     | Bios                 |
  1446.        ^X     | Xbios                |
  1447.        ^L     | LineA                |
  1448.        -------+----------------------+------------------------------------
  1449.        ^R     | Return address       | Tracerausgaben umschalten
  1450.        ^C     | Caller name          |
  1451.        ^N     | Number of function   |
  1452.        ^O     | Output stack pointer |
  1453.        ^F     | Flag supervisor mode |
  1454.        ^E     | Extra output         |
  1455.        ^W     | WatchBypass          |
  1456.        -------+----------------------+------------------------------------
  1457.        ^P     | Pd-changes           | Tracerausgaben umschalten
  1458.        ^T     | Trap-changes         |
  1459.        -------+----------------------+------------------------------------
  1460.  
  1461.  
  1462.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1463.      SONSTIGE KOMANDOS
  1464.  
  1465.        Taste          | Beschreibung                    SONSTIGE-KOMMANDOS
  1466.        ---------------+---------------------------------------------------
  1467.        UNDO           | Aktuelles Fenster schlie₧en
  1468.        SPACE          | SysMon verlassen, Programm fortfahren
  1469.        HELP           | Kurze Übersicht über die Bedienung von SysMon
  1470.        ---------------+---------------------------------------------------
  1471.        ^Z             | Tracerschirm löschen (Nur wenn kein anderes
  1472.                       | Fenster offen ist)
  1473.        Re. Shift      | Umschalten des aktuell dargestellten Bildschirms
  1474.        Re. Shift-CAPS | Festlegen des Default-Bildschirms
  1475.        Re. Shift-HELP | SysMon-Bildschirm festlegen
  1476.        Li. Shift-HELP | Maschinensprache-Debugger anspringen
  1477.        ---------------+---------------------------------------------------
  1478.        Zehnerblock  * | Dump des aktuellen Fensters in das Protokollfile
  1479.        Alt. Zehnbl. * | Dump des aktuellen Fensters auf den Drucker
  1480.        Li. Sh. Alt. * | Hardcopy des SysMon-Bildschirms über den TOS-
  1481.                       | Hardcopy-Vektor.
  1482.        ---------------+---------------------------------------------------
  1483.  
  1484. *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
  1485.  
  1486. PROGRAMM INTERNA
  1487.  
  1488.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1489.      SYSMON UND DIE TRAPS
  1490.  
  1491.      Wenn der Tracer ausgeschaltet ist, hängt SysMon im Keyboard-, Vbl-
  1492.      und Gemdos-Vektor.
  1493.  
  1494.      - Im Keyboard-Vektor werden die Tastendrücke auf die Kombination
  1495.        Rechts-Shift-HELP untersucht.
  1496.      - Aufgerufen wird SysMon dann im Vbl-Interrupt.
  1497.      - Der Gemdos-Vektor wird benötigt, um das Starten und Beenden von
  1498.        Programmen protokollieren zu können. Auf diese Weise kennt SysMon
  1499.        alle nach ihm gestarteten Programme beim richtigen Namen.
  1500.  
  1501.      Wird der Tracer eingeschaltet, so installiert sich SysMon zusätzlich
  1502.      in den AesVdi, Bios, Xbios und LineA Vektoren.
  1503.  
  1504.  
  1505.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1506.      FUNCTION TABLE
  1507.  
  1508.      Um die Ausgabe-Parameter von Funktionen ausgeben zu können, hängt
  1509.      sich SysMon hinter jede Funktion, indem die Rücksprung-Adresse
  1510.      modifiziert wird.
  1511.  
  1512.      Die einfache Annahme, für jeden Trap genau eine Rücksprung-Adresse
  1513.      zum jeweiligen Programm vermerken, ist leider falsch. Unter den
  1514.      Multitasking-Systemen wie MagiX, MiNT und MultiTos ist sofort
  1515.      einsichtig. Aber auch das alte Betriebssystem besitzt zum Teil
  1516.      Multitasking-Funktionen ( Z.B das Aes-Taskswitching ). Es ist daher
  1517.      es nicht so, da₧ derselbe Proze₧ aus dem Trap-Aufruf zurückkehrt, der
  1518.      den Trap ausgelöst hat. Auch die Gemdos-Funktion Pexec, die ein
  1519.      Programm als Kind-Proze₧ nachstartet, kehrt erst zurück, wenn der
  1520.      Kind-Proze₧ beendet ist. Der Kind-Proze₧ kann (und wird sogar sehr
  1521.      warscheinlich...) Gemdos}-Aufrufe benutzen, also ist auch hier ein
  1522.      anderes Verfahren notwendig.
  1523.  
  1524.      SysMon legt jeden Aufruf in einer Tabelle ( Function-Table ) ab.
  1525.      Sobald der Aufruf zurückkehrt, wird der Tabelleneintrag gelöscht und
  1526.      das auslösende Programm an der richtigen Adresse fortgesetzt.
  1527.  
  1528.      Auf diese Weise können auch verschachtelte Aufrufe und Aufrufe aus
  1529.      Interrupts heraus korrekt ausgegeben werden.
  1530.  
  1531.      Im UsedTraps-Fenster wird eine Übersicht über die Funktionen gegeben,
  1532.      die noch nicht aus dem Trap zurückgekehrt sind. Im Normalfall wird
  1533.      dies für jedes Accessory und für das Hauptprogramm genau eine
  1534.      Funktion sein. Wird das TOS oder GEM getraced oder sind residente
  1535.      Treiber vorhanden, so sind Verschachtelungen von Funktionen möglich.
  1536.  
  1537.  
  1538.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1539.      BYPASS TABLE
  1540.  
  1541.      SysMon versucht immer, der Erste in einem Trap zu sein, da sonst
  1542.      Aufrufe von anderen Trap-Programmen abgefangen werden könnten. Aus
  1543.      diesem Grunde werden die Traps laufend vom SysMon überwacht, dies
  1544.      geschieht auch, wenn der Tracer nicht angeschaltet ist.
  1545.  
  1546.        Programm ruft einen Trap auf
  1547.         \
  1548.          \
  1549.           SysMon - Traphandler
  1550.            \
  1551.             \
  1552.              TOS - Traphandler
  1553.             /
  1554.            /
  1555.           SysMon - Function Table
  1556.          /
  1557.         /
  1558.        Programm wird fortgesetzt
  1559.  
  1560.      Wenn ein anderes Programm einen Trap-Handler installiert, wird der
  1561.      SysMon Trap-Handler in eine Umleitung ( Bypass ) umgewandelt. Diese
  1562.      springt lediglich die nachfolgende Adresse an. SysMon installiert
  1563.      dann vorne im Trap einen neuen Trap-Handler.
  1564.  
  1565.        Programm ruft einen Trap auf
  1566.         \
  1567.          \
  1568.           SysMon - Traphandler
  1569.            \
  1570.             \
  1571.              fremder Traphandler
  1572.               \
  1573.                \
  1574.                 SysMon Bypass (alter SysMon - Traphandler)
  1575.                  \
  1576.                   \
  1577.                    TOS - Traphandler
  1578.                   /
  1579.              ....
  1580.            /
  1581.           SysMon - Function Table
  1582.          /
  1583.         /
  1584.        Programm wird fortgesetzt
  1585.  
  1586.      Hängen sich mehrere Programme hintereinander in denselben Trap ein,
  1587.      so wird zwischen jedem Programm ein Bypass im Trap installiert.
  1588.  
  1589.      Wird der Trap vom anderen Programm auf die alte Adresse zurück-
  1590.      gesetzt, so wandelt SysMon den Trap-Handler in einen Bypass um.
  1591.      Der Bypass wird noch nicht freigegeben, da er vielleicht noch einmal
  1592.      benötigt wird. Erst wenn der Speicherblock freigegeben wird, in dem
  1593.      sich das Sprungziel des Bypasses befindet, wird dieser freigegeben.
  1594.      Der Bypass, der an der alten Adresse vorhanden war, wird wieder in
  1595.      einen Trap-Handler umgewandet.
  1596.  
  1597.      Im UsedTraps-Fenster werden die vorhanden Bypasse und deren Sprung-
  1598.      ziele aufgelistet.
  1599.  
  1600.  
  1601.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1602.      WATCH BYPASS FUNKTION
  1603.  
  1604.      Ist die Sonderoption WatchBypass, die über die Controlltaste ^W
  1605.      aktiviert wird, eingeschaltet, springt der Bypass nicht nur zur
  1606.      nächsten Adresse weiter. Es wird in jeden Bypass eine Funktion
  1607.      eingebunden, die die Funktionsnummer und die Rücksprung-Adresse des
  1608.      Aufrufs auf Veränderungen überprüft.
  1609.  
  1610.      Au₧erdem wird vermerkt, welcher Bypass eines Traps überhaupt an-
  1611.      gesprungen wurde.
  1612.  
  1613.      - Anhand des zuletzt angesprungenen Bypasses kann SysMon entscheiden,
  1614.        ob ein anderes Programm als das Betriebsystem den Aufruf
  1615.        beantwortet hat.
  1616.      - Wurde die Rücksprungadresse verändert, so kann SysMon ausgeben,
  1617.        welches Programm sich hinter den Aufruf gehängt hat.
  1618.      - Wurde die Funktionsnummer verändert oder ein Aufruf nicht über
  1619.        einen Trap, sondern nur über den Stack abgewickelt, so werden
  1620.        diese Aufrufe ausgegeben.
  1621.  
  1622.      Damit die WatchBypass-Funktion optimal funktioniert, mu₧ sie schon
  1623.      beim Starten von SysMon aktiviert sein. Dies wird erreicht, indem der
  1624.      Sondermodus WatchBypass und der Tracer eingeschaltet und dann das
  1625.      Setup gespeichert wird. Beim nächsten Start installiert SysMon nicht
  1626.      nur Bypasse vor dem aktuellen Trap-Handler, sondern auch zusätzliche
  1627.      Bypasse hinter jedem Programm, das das XBRA-Verfahren verwendet.
  1628.  
  1629.      Wenn der Tracer nicht angeschaltet ist, sind die WatchBypass-
  1630.      Funktionen nicht eingebunden und es geht keine Rechenzeit verloren.
  1631.  
  1632.      Wird SysMon beendet, so können die zusätzlich angelegten Bypasse
  1633.      nicht ohne weiteres entfernt werden.
  1634.  
  1635.  
  1636.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1637.      SYSTABLE
  1638.  
  1639.      Der SysTable ist ein eigenständiger Programmteil von SysMon. Er
  1640.      befindet sich ganz vorne im SysMon Programm und besteht aus dem
  1641.      Bypass- und dem Function-Table und einigen Funktionen, die zur
  1642.      Verwaltung des Function-Table gehören.
  1643.  
  1644.      Die Notwendigkeit eines eigenständigen Programmteils innerhalb des
  1645.      SysMon-Programms läst sich am einfachsten Zeigen, indem man die
  1646.      Nachteile aufzeigt, die ein 'ungeteilter' SysMon mit sich bringen
  1647.      würde.
  1648.  
  1649.      Würde SysMon bei der Quit-Option komplett aus dem Speicher entfernt
  1650.      werden, ergäben sich folgende Probleme:
  1651.  
  1652.      - Sind Bypasse angelegt worden, so werden diese weiterhin von den
  1653.        anderen Programmen angesprungen.
  1654.      - Wenn Funktionen im Function-Table eingetragen sind, so kehren diese
  1655.        erst noch zum SysMon zurück, wo sie an die richtige Rücksprung-
  1656.        adresse weitergeleitet werden müssen.
  1657.  
  1658.      Es wäre also fatal den dafür notwendigen Programmcode aus dem
  1659.      Speicher zu entfernen!
  1660.  
  1661.      Der nur 4 KB gro₧e SysTable Programmteil übernimmt genau diese beiden
  1662.      Aufgaben. Er entfernt sich sogar selber aus dem Speicher, wenn er
  1663.      nicht mehr benötigt wird. Dies ist der Fall, wenn keine Bypasse an-
  1664.      gelegt wurden und die letzte im Function-Table vorhandene Funktion
  1665.      zurückgekehrt ist. Um auf die Freigabe hinzuweisen, wird ein
  1666.      akustisches Signal erzeugt.
  1667.  
  1668.      Bei der Quit-Option wird angezeigt, ob der SysTable im Speicher
  1669.      verbleiben mu₧, oder ob SysMon komplett entfernt werden konnte.
  1670.  
  1671.      Findet SysMon beim erneuten Start einen SysTable im Speicher, wird
  1672.      dieser vollständig benutzt. Alle Aktionen im Zusammenhang mit den
  1673.      Traps, dem Umlenken der Funktionen und das Beenden von SysMon werden
  1674.      über den alten SysTable abgewickelt. Auf diese Weise braucht bei
  1675.      wiederholtem SysMon-Start keine neuer Bypass- oder Function-Table
  1676.      angelegt werden. SysMon kann dann immer komplett aus dem Speicher
  1677.      entfernt werden.
  1678.  
  1679.      Die Bypass-Tabelle wird nicht von SysTable überwacht, da diese Über-
  1680.      wachung zu aufwendig wäre und den Programmcode des SysTable unnötig
  1681.      vergrö₧ern würde. SysMon untersucht einen beim Starten vorgefundenen
  1682.      Bypass-Table und gibt die nicht mehr benötigten Bypasse wieder frei.
  1683.  
  1684.      Das UsedTraps-Fenster, das Angaben über den Zustand des Bypass- und
  1685.      des Functions-Table ausgibt, zeigt genau genommen nicht den SysMon-
  1686.      sondern den SysTable-Zustand an.
  1687.  
  1688.  
  1689.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1690.      AUTOPATCH SEQUENCE
  1691.  
  1692.      Ein paar der Angaben des SysMon sind von undokumentierten System-
  1693.      variablen abhängig. Dazu zählt zB die Speicherliste und das Scannen
  1694.      nach schon geladenen Programmen beim Programmstart. SysMon läuft
  1695.      auch, wenn keine dieser Systemvariablen gefunden wurde.
  1696.  
  1697.      Für die bisherigen Tos-Versionen sind deren Adressen schon in SysMon
  1698.      enthalten. Für das MagiX-Betriebssystem wurde eine generelle
  1699.      Anpassung vorgenommen, die unabhängig von der eigentlichen Versions-
  1700.      nummer sein sollte.
  1701.  
  1702.      Wird SysMon auf einem Rechner mit unbekanntem Tos gestartet, so
  1703.      stellt SysMon dies fest und versucht nun die Adressen der folgenden
  1704.      Systemvariablen auf analytische Weise herauszufinden:
  1705.  
  1706.        Element | Erläuterung                               SYSTEMVARIABLEN
  1707.        --------+----------------------------------------------------------
  1708.        ActPD   | Der Zeiger auf den aktuellen Proze₧.
  1709.        MBP     | Die Basisadresse der Speicherlisten.
  1710.        AesBase | Die Basisadresse der ersten 3 Aes-Blöcke.
  1711.        AesList | Die Zeigerliste auf die restlichen Aes-Blöcke.
  1712.        VdiList | Der Zeiger auf die erste Vdi-Workstation.
  1713.        --------+----------------------------------------------------------
  1714.  
  1715.      Damit die Aes- und Vdi-Adressen sicher erkannt werden, mü₧en
  1716.      mindestens drei Accessories geladen sein. Au₧erdem darf kein externer
  1717.      Vdi-Treiber (zB NVDI, GDOS...) benutzt werden.
  1718.  
  1719.      Nachdem SysMon die Adressen gefunden hat, werden diese direkt in das
  1720.      SYS_MON.PRG gepatcht, so da₧ die Installation des neuen Tos nur
  1721.      einmal geschehen mu₧.
  1722.  
  1723.      SysMon bietet vor der Suche noch eine Liste der Tos-Versionen mit
  1724.      demselben Datum und Versionsnummer, aber zT unterschiedlichen Länder-
  1725.      kennungen an. Diese sollten zuerst ausprobiert werden, aber die
  1726.      Einstellung noch nicht in SysMon gespeichert werden (d.h. nicht
  1727.      patchen lassen!).
  1728.  
  1729.      Testen Sie einmal das Memory-Fenster und überprüfen Sie, ob beim
  1730.      Starten alle Accessories korrekt erkannt wurden. Ist dies nicht der
  1731.      Fall, booten Sie neu und versuchen Sie eine der anderen angebotenen
  1732.      Versionen.
  1733.  
  1734.      SysMon legt zusätzlich eine AUTOPTCH.LOG Datei an, die die Daten des
  1735.      TOS enthält. Wenn Sie ein neues TOS korrekt installieren konnten,
  1736.      schicken Sie mir bitte die AUTOPTCH.LOG Datei per Email oder per
  1737.      Diskette ( falls Sie eh ein Update machen wollten ). Die TOS-Version
  1738.      kann dann in den SysMon übernommen werden und den anderen Benutzern
  1739.      dieser TOS-Version bleibt das Ausprobieren mittels der Autopatch-
  1740.      Sequence erspart.
  1741.  
  1742.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1743.      PATCHVARIABLEN
  1744.  
  1745.      Um SysMon an besondere Gegebenheiten und Wünsche anpassen zu können,
  1746.      besitzt SysMon eine Reihe von Patchvariablen, deren Wert mit einem
  1747.      Diskettenmonitor verändert werden können.
  1748.  
  1749.      Am Anfang des SYS_MON.PRG Files findet sich der String 'SysMon_Var'.
  1750.      Dieser markiert den Beginn der Patchvariablen, die der folgenden
  1751.      Tabelle zu entnehmen sind:
  1752.  
  1753.        Länge | Wert  | Art         |           | Bedeutung PATCH-VARIABLEN
  1754.        ------+-------+-------------+-----------+--------------------------
  1755.        Byte  | 98    | Scancode    | Help      | Aufruf von SysMon
  1756.        Byte  | 1     | Shiftstatus | re.Shift  | Aufruf von SysMon
  1757.        Byte  | 8     | Shiftstatus | Alternate | Abbruch der Installation
  1758.        Byte  | 4     | Shiftstatus | Control   | SYS_MON.INF nicht laden
  1759.        Byte  | 0     | Flag        | weiss     | Menüfarbe
  1760.        Byte  | 1     | Flag        | schwarz   | Hintergrundefarbe
  1761.        Long  | 10000 |             |           | Länge des File Puffers
  1762.        Long  | 0     |             |           | Offset Logbase
  1763.        Long  | 0     |             |           | Offset Physbase
  1764.        Word  | 50    | Anz. Zeilen |           | Gepufferte Tracerzeilen
  1765.        Byte  | 102   | Scancode    | Block *   | Fensterdump-Taste
  1766.        Byte  | 0     | Flag        |           | externe Tastatur
  1767.        Word  | 0     | Anz.Zeilen  |           | Maximale Tracerzeilen     
  1768.        Word  | 0     | Anz.Zeichen |           | Fread/Fwrite-Filedump
  1769.        Byte  | 1     | Flag        |           | Sound bei Quit
  1770.        ------+-------+-------------+-----------+--------------------------
  1771.  
  1772.      Wird zum Beispiel für den Abbruch Shiftstatus der Wert 0 gewählt, so
  1773.      Installiert sich SysMon nur, wenn beim Starten mindestens eine der
  1774.      Sondertasten gedrückt gehalten wurde.
  1775.  
  1776.      Die beiden Offsets sind bei älteren OverScan-Versionen ( < 1.7 )
  1777.      einzutragen.
  1778.  
  1779.      Ist bei Fread/Fwrite-Filedump ein Wert > 0 eingetragen, so gibt 
  1780.      dieser die maximale Anzahl der auszugebenden Zeichen bei ein-
  1781.      geschaltetem ExtraOutput an.
  1782.      
  1783.      Die anderen Patchvariablen werden jeweils im Zusammenhang bei den
  1784.      betroffenen Funktionen erläutert oder sind selbsterklärend.
  1785.  
  1786.  
  1787. *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
  1788.  
  1789. FEATURES
  1790.  
  1791.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1792.      UNTERSTUETZTE TOS VERSIONEN
  1793.  
  1794.      Der SysMon arbeitet mit allen bekannten Single-Tos Versionen. Bei
  1795.      Versionen, die nicht in der folgenden Tabelle aufgeführt sind, mu₧
  1796.      SysMon erst die undokumentierten System-Variablen herausfinden. Siehe
  1797.      Abschnitt AUTOPATCH SEQUENCE.
  1798.  
  1799.        Art | Version |  Datum   | Land           | Bemerkung    SINGLE-TOS
  1800.        ----+---------+----------+----------------+------------------------
  1801.        ROM |  4.04   | 08.03.93 | All            | Falcon-Tos
  1802.        RAM |  4.04   | 08.03.93 | All            | Falcon-Tos
  1803.        ROM |  4.02   | 26.01.93 | All            | Falcon-Tos
  1804.        ROM |  4.01   | 21.10.92 | All            | Falcon-Tos
  1805.        ROM |  3.06   | 24.09.91 | GER,FRA,UK,SWG | TT-Tos
  1806.        ROM |  3.05   | 05.12.90 | GER,US         |
  1807.        ROM |  3.01   | 29.08.90 | GER,SWG,UK     |
  1808.        ROM |  3.01   | 09.08.90 | GER,SWG,UK     |
  1809.        ROM |  3.00   | 23.05.89 | US             |
  1810.        ROM |  2.06   | 14.11.91 | GER,UK         | Mega-STe-Tos
  1811.        ROM |  2.05   | 05.12.90 | GER,SWG,US     |
  1812.        ROM |  1.62   | 11.01.90 | GER,UK         |
  1813.        ROM |  1.6    | 29.07.89 | GER,UK         | STe-Tos
  1814.        ROM |  1.4    | 06.04.89 | GER            |
  1815.        ROM |  1.4    | 06.04.89 | GER            | Kaos-Tos 1.42
  1816.        RAM |  1.4    | 06.04.89 | GER            | Kaos-Tos 1.41
  1817.        ROM |  1.4    | 22.02.89 | GER            |
  1818.        RAM |  1.4    | 06.04.89 | GER            | reloziertes Rom-Tos
  1819.        RAM |  1.4    | 18.05.88 | GER            | Beta-Tos
  1820.        RAM |  1.4    | 22.02.88 | GER            |
  1821.        ROM |  1.2    | 22.04.87 | GER            | Blitter-Tos
  1822.        RAM |  1.2    | 22.04.87 | GER            | Kaos-Tos
  1823.        ROM |  1.0    | 06.02.86 | GER            |
  1824.        RAM |  1.0    | 06.02.86 | GER            |
  1825.        RAM |  1.0    | 20.11.85 | GER            |
  1826.        RAM |  1.0    | 29.05.85 | GER            | Mushroom-Tos
  1827.        ----+---------+----------+----------------+------------------------
  1828.  
  1829.      Das Multitasking-System MAGIX wird ab Version 2.0 unterstützt.
  1830.  
  1831.      Die TOS-Erweiterung MiNT und das neue MultiTOS wird bisher noch nicht
  1832.      unterstützt. Zwar werden die neuen Aufrufe schon erkannt und korrekt
  1833.      ausgegeben, aber die Speicher- und Proze₧verwaltung von MiNT wird
  1834.      noch nicht unterstützt, so da₧ keinerlei Informationen über geladene
  1835.      Programme und deren Speicherbereiche vorliegt. Ein Tracen einzelner
  1836.      Programme ist daher nicht möglich. Auch gibt es noch Probleme mit
  1837.      der Memory-Protektion.
  1838.  
  1839.  
  1840.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1841.      UNTERSTUETZTE HARDWARE
  1842.  
  1843.      Der SysMon arbeitet auf allen Atari-St Rechnern und unter allen
  1844.      Standard-ST-Auflösungen.
  1845.  
  1846.      FARBBILDSCHIRMEN
  1847.  
  1848.      Bei SC1224 Farbbildschirmen arbeitet SysMon grundsätzlich in der
  1849.      mittleren Auflösung; beim Wechseln der dargestellten Bildschirmseite
  1850.      wird die vorherige Auflösung wieder eingestellt.
  1851.  
  1852.  
  1853.      GROSSBILDSCHIRME
  1854.  
  1855.      Bei Gro₧bildschirmen wird zur Ausgabe der zusätzlich angeschlossene
  1856.      SM124, SC1224 oder TTM195 benutzt.
  1857.  
  1858.  
  1859.      OVERSCAN ST
  1860.  
  1861.      Unter OverScan und AutoSwitch-OverScan wird die beim Starten von
  1862.      SysMon vorliegende Auflösung benutzt. Wird SysMon nach OverScan
  1863.      gestartet, so werden die zusätzlichen Ausgabezeilen ausgenutzt.
  1864.  
  1865.  
  1866.      OVERSCAN TT
  1867.  
  1868.      Unter OverScanTT wird die beim Starten von SysMon vorliegende Auf-
  1869.      lösung benutzt. Wird SysMon nach OverScanTT gestartet, so werden die
  1870.      zusätzlichen Ausgabezeilen ausgenutzt.
  1871.  
  1872.  
  1873.      STE
  1874.  
  1875.      Beim STe gibt es neue Shifterregister, die es z.B. erlauben den Bild-
  1876.      schirm byteweise zu positionieren. Diese Register werden beim Um-
  1877.      schalten des aktuellen Bildschirms gesichert und beim Zurückschalten
  1878.      wieder hergestellt. Trotzdem kommt es bei einige STE-Geräten zu einem
  1879.      Versatz in der Darstellung.
  1880.  
  1881.  
  1882.      TT
  1883.      Auf dem TT wird bei Benutzung des VGA-Monitors oder bei Benutzung
  1884.      einer externen Graphikkarte unabhängig von der aktuellen Auflösung
  1885.      immer im ST-High Modus gearbeitet.
  1886.  
  1887.      Bei Verwendung des hochauflösenden TTL-Monitors, wird die grö₧ere
  1888.      Fläche ausgenutzt. Da die, auf dem TT enorme, Scrollgeschwindigkeit
  1889.      bei 128 KB Bildschirmspeicher stark nachlä₧t, kann bei den Patch-
  1890.      variablen eine maximale Zeilenzahl für den Tracer festgelegt werden.
  1891.      Der Wert von 24 Zeilen bedeutet einen grö₧en Geschwindigkeitsgewinn,
  1892.      die Fenster des SysMon benutzen weiterhin die grö₧ere Fläche.
  1893.  
  1894.  
  1895.      FALCON
  1896.  
  1897.      Auf dem Falcon wird immer im ST-High Modus gearbeitet. Die Um-
  1898.      schaltung der neuen Videorigister auf diese definierte Auflösung
  1899.      funktioniert auch bei Verwendung von Graphikerweiterungen wie Screen-
  1900.      Blaster, BlowUp, HighVidelity etc. Unterstützt werden dabei der VGA-,
  1901.      SC1224-, SM124- und TV-Modus. Unter Umständen kann es zu einem
  1902.      Umklappen des Bildschirmrandes auf dem SysMon-Bildschirm kommen.
  1903.  
  1904.  
  1905.      68000 68030
  1906.  
  1907.      Für die verschiedenen Prozessoren werden jeweils die Trap-Handler an-
  1908.      gepa₧t. Beim Starten findet ein Test der Exception-Vektoren statt, ob
  1909.      die 32 bit-clean sind.
  1910.  
  1911.  
  1912.      EXTERNE PC TASTATUREN
  1913.  
  1914.      SysMon benutzt keine Bios-Funktionen, um die RechtsShift-HELP Tasten-
  1915.      kombination festzustellen, sondern er installiert sich im Tastatur-
  1916.      Interrupt. Benutzt man nun eine externe PC-Tastatur, die keine Inter-
  1917.      rupts auslöst (Man mu₧ einen Treiber booten, damit die Tastatur
  1918.      läuft), so kann SysMon nicht aufgerufen werden. Aus diesem Grunde
  1919.      kann man bei den Patch-Variablen ein Flag setzen, damit SysMon über-
  1920.      prüft, ob ALT-RechtsShift-HELP gedrückt wurde. Ändert man bei den
  1921.      Patch-Variablen den 'Aufruf-Scancode', so hat dies keinen Einflu₧,
  1922.      ändert man den 'Aufruf-Shiftcode', so mu₧ man ALT-HELP plus den
  1923.      gewählten Shiftcode drücken, damit SysMon betreten wird.
  1924.  
  1925.  
  1926.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  1927.      BESONDERERE TRACER AUSGABEN
  1928.  
  1929.  
  1930.      AES MESSAGES
  1931.  
  1932.      Die benutzerdefinierten Messages von GEMINI, CLIPBRD, KOBOLD, TRACER,
  1933.      WATCHDOG, CAD-3D, DEGAS, CYBERSMASH, TDIMODULA, 1STADRESS, CHAMELEON,
  1934.      SECURITY, MANAGER und auch das XACC-, IDC- und SCRAP-Protokoll werden
  1935.      erkannt und mit Konstanten und Strukturen ausgegeben.
  1936.  
  1937.      Die Systemmessages von TOS, MTOS und MAGIX werden natürlich auch
  1938.      unterstützt.
  1939.  
  1940.      Bei unbekannte AES-Messages wird der Message-Buffer komplett aus-
  1941.      gegeben.
  1942.  
  1943.  
  1944.      AES WINDGET WINDSET
  1945.  
  1946.      Alle neuen TOS, MTOS, MAGIX und WINX Konstanten werden mit Konstanten
  1947.      ausgegeben.
  1948.  
  1949.  
  1950.      AES ERWEITERTEN AUSGABEN
  1951.  
  1952.      Zu den erweiterten Ausgaben zählt die Ausgabe des Objekttyps und des
  1953.      Strings eines Objektes bei den Objekt- und auch den Menü-Funktionen.
  1954.      Au₧erdem werden einige der neueren MTOS Strukturen ausgegeben, z.B.
  1955.      MENU und MN_SET.
  1956.  
  1957.      Die undokumentierte, aber in allen bisherigen Tos-Versionen vor-
  1958.      handene Funktion appl_yield (ausgegeben als $C9_yield ) zählt
  1959.      eigentlich nicht zu den Aes-Funktionen. Die Ausgabe dieser Funktionen
  1960.      kann durch die Funktion 'Unknown' in der Aes-Funktionsliste
  1961.      beeinflu₧t werden.
  1962.  
  1963.      Bei unbekannten Aes-Funktionen werden vor dem Trap die laut Control-
  1964.      Feld belegten Einträge des Intin- und Adrin-Feldes und nach dem Trap
  1965.      die Intout- und Adrout-Feldes ausgeben.
  1966.  
  1967.  
  1968.      VDI
  1969.  
  1970.      Die erweiterten Vdi-Metafile Escapes und der Inhalt der MDFB-Struktur
  1971.      werden ausgegeben. SysMon zeigt auch die neuen Vdi-Funktionen des
  1972.      FSM-GDOS, SPEEDO-GDOS und die Bezier-Funktionen an. Die Funktionen
  1973.      vex_timer, vex_button, vex_mouse Funktionen dürfen nicht stepweise
  1974.      getraced werden. Beim Steppen werden sie daher übersprungen.
  1975.  
  1976.      Die Funktionen vq_gdos und vq_driver sind eigentlich keine Vdi-
  1977.      Funktionen, weil sie eine andere Stack-Konvention für den Aufruf
  1978.      benutzen. Die Ausgabe dieser Funktionen kann durch die Funktion
  1979.      'Unknown' in der Vdi-Funktionsliste beeinflu₧t werden.
  1980.  
  1981.      Bei unbekannten Vdi-Funktionen werden vor dem Trap die laut Control-
  1982.      Feld belegten Einträge des Intin- und Ptsin-Feldes und nach dem Trap
  1983.      die Intout- und Ptsout-Feldes ausgeben.
  1984.  
  1985.  
  1986.      GEMDOS
  1987.  
  1988.      Alle Netzwerk-Funktionen werden erkannt und mit den richtigen
  1989.      Parametern ausgegeben. Als erweiterten Ausgaben können die DTA bei
  1990.      Fsfirst, Fsnext, die Filenamen bei allen Operationen mit Filehandles,
  1991.      die vorherige Blockgrö₧e bei Mfree und Mshrink und die Ausgabe der
  1992.      Strukturen DISKINFO, DOSINFO und DOSVARS angezeigt werden.
  1993.  
  1994.      Unter Color-OverScan ist es notwendig, bei den Funktionen Pterm0,
  1995.      Pterm oder Ptermres kurz auf den GEM Bildschirm umzuschalten, wenn
  1996.      gerade der SysMon Bildschirm dargestellt wurde.
  1997.  
  1998.      Bei unbekannten Gemdos-Funktionen werden vor dem Trap die sechs
  1999.      obersten Worte des Systemstacks und nach dem Trap der Rückgabewert
  2000.      ausgegeben.
  2001.  
  2002.  
  2003.      BIOS
  2004.  
  2005.      Die Funktionen Setexc und Ticcal dürfen nicht stepweise getraced
  2006.      werden und werden deshalb beim Steppen übersprungen. Die BPB Struktur
  2007.      kann über die erweiterten Ausgaben angezeigt werden.
  2008.  
  2009.      Bei unbekannten Bios-Funktionen werden vor dem Trap die sechs
  2010.      obersten Worte des Systemstacks und nach dem Trap der Rückgabewert
  2011.      ausgegeben.
  2012.  
  2013.  
  2014.      XBIOS
  2015.  
  2016.      Neben der Unterstützung der TT-Videofunktionen werden die neuen
  2017.      Funktionen des Falcon komplett mit Konstanten und Strukturen aus-
  2018.      gegeben. Bei den DSP-Funktionen kann über die erweiterten Ausgaben
  2019.      der Kommunikations-Buffer ausgegeben werden. Bei den Falcon-Video-
  2020.      funktionen wird mit den im TOS vorgegebenen Konstanten für die
  2021.      Bildschirmmodi gearbeitet.
  2022.  
  2023.      Die Funktionen des Metados-Treibers werden unterstützt.
  2024.  
  2025.      Die Funktion Floprate wird unterstützt, und auch die erweiterten
  2026.      XBIOS-Funktionen des OverScan ST werden erkannt. Die Strukturen
  2027.      PARAM, IOREC, KEYTABLE, KBDVECS und PBDEF können über die erweiteten
  2028.      Ausgaben angezeigt werden.
  2029.  
  2030.      Wenn die Funktionen Physbase, Getrez, Setscreen aufgerufen werden und
  2031.      gerade der SysMon Bildschirm dargestellt wird, ist es notwendig kurz-
  2032.      zeitig auf den GEM Bildschirm umzuschalten.
  2033.  
  2034.      Bei unbekannten XBios-Funktionen werden vor dem Trap die sechs
  2035.      obersten Worte des Systemstacks und nach dem Trap der Rückgabewert
  2036.      ausgegeben.
  2037.  
  2038.  
  2039.      LINEA
  2040.  
  2041.      Alle zu der jeweiligen Funktion gehörigen LineA Variablen werden aus-
  2042.      gegeben. Die Strukuren MFORM, SDB und BITBLT können über die
  2043.      erweiteten Ausgaben angezeigt werden.
  2044.  
  2045.  
  2046.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  2047.      HILFEFENSTER
  2048.  
  2049.      Ist kein Fenster geöffnet, so kann mit der HELP-Taste ein
  2050.      Hilfefenster geöffnet werden, das die wichtigen Kommandos von
  2051.      SysMon zusammenfa₧t.
  2052.  
  2053.      Wie in den anderen Fenstern auch, kann man mit den Cursor-Kommandos
  2054.      in der Ausgabe wandern und das Fenster mit UNDO schlie₧en.
  2055.  
  2056.  
  2057. *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
  2058.  
  2059.      -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  2060.      BUGREPORTS
  2061.  
  2062.      Sollten Sie Probleme im Betrieb mit SysMon feststellen, so senden
  2063.      Sie mir den Bugreport am Besten per EMail, damit ich die
  2064.      Möglichkeit zu Rückfragen habe.
  2065.  
  2066.      Beschreiben Sie möglichst genau ihre Hardware
  2067.  
  2068.        Rechner
  2069.        Speicher
  2070.        zusätzliche Einbauten
  2071.  
  2072.      und Software
  2073.  
  2074.        TOS-Version, Länderkennung und Datum
  2075.        Auto-Ordnerprogramme mit Versionsnummern und deren Reihenfolge
  2076.        Accessories mit deren Versionsnummer
  2077.  
  2078.      und der Einstellung im SysMon
  2079.        Tracer an/aus
  2080.        Funktionsgruppen
  2081.  
  2082.      und die Vorgehensweis, um den Fehler zu reproduzieren.
  2083.  
  2084.      Versuchen Sie vorher, den Fehler auf einem möglichst reduziertem
  2085.      System zu erzeugen, dh schalten Sie die beteiligten Auto-Ordnerpramme
  2086.      und Accessories nacheinander ab und testen Sie, ob der Fehler
  2087.      jeweils noch auftritt. Versuchen Sie es auch einmal mit Booten
  2088.      von der Diskette, da einige Probleme auch mit dem Plattentreiber
  2089.      zusammenhängen können.
  2090.  
  2091.      Bei Abstürzen (Bomben) ist ein Ascii-Dump mit Hilfe des TempleMon-
  2092.      Debuggers (aktuell ist Version 2.02) sehr hilfreich. Den Dump
  2093.      fertigen Sie folgenderma₧en an:
  2094.  
  2095.        Starten Sie TempleMon vor SysMon. Wenn der Fehler auftritt sollte
  2096.        der Rechner automatisch im TempleMon landen. Geben Sie nun
  2097.        folgende Zeilen ein:
  2098.  
  2099.          pdump.txt
  2100.          r-
  2101.          r
  2102.          drpc-40 rpc+40
  2103.          pc
  2104.  
  2105.  
  2106.        Danach sollte sich ein dump.txt im aktuellen Direktory des
  2107.        aktuellen Laufwerks befinden. Sie können statt dump.txt auch
  2108.        gleich einen kompletten Pfad angeben, wie in pf:\dump.txt.
  2109.  
  2110.      Bitte überprüfen Sie bei einem erneuten Systemstart mit identischer
  2111.      Konfiguration, ob die im TempleMon angegeben Adresse überhaupt im
  2112.      SysMon liegt, indem sie im Memory-Fenster nachsehen, welches
  2113.      Programm zu der angegebenen Adresse gehört.
  2114.  
  2115.      Manchmal hilft es mir auch bei der Fehlersuche, wenn Sie mir die
  2116.      letzten paar Ausgaben auf dem SysMon Bildschirm mitteilen. Damit der
  2117.      SysMon-Schirm als Hauptschirm aktiviert wird (und somit im TempleMon
  2118.      mit F1/F2 auf ihn umgeschaltet werden kann) müssen Sie bei ein-
  2119.      geschaltem Tracer einmal CAPS-LOCK - Rechts-Shift drücken. Wenn Sie
  2120.      vorher Number (^N) aktiviert haben, mu₧ ich die Funktionsnummer nicht
  2121.      erst raussuchen.
  2122.  
  2123.  
  2124.      Die hier beschriebene Vorgehensweise für Bugreports eignet sich
  2125.      selbstverständlich nicht nur für SysMon-Bugreports, sondern auch
  2126.      bei Problemen mit anderen Software-Produkten. Der jeweilige
  2127.      Programmierer wird Ihnen für die genauen Hinweise danken.
  2128.  
  2129. *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
  2130.  
  2131. SHAREWARE HINWEIS
  2132.  
  2133.      Unter der Voraussetzung, das die Dateien
  2134.  
  2135.        README.TXT, SYS_MON.PRG, SYS_MON.MAN, SYS_MON.GEN und SYSTEM.MAN
  2136.  
  2137.      unverändert und vollständig übernommen werden, darf SysMon für private
  2138.      Anwender frei kopiert und benutzt werden. Kommerzielle Nutzung in jeder
  2139.      Form (dies schlie₧t auch den Vertrieb über Public-Domain-Sammeldisketten
  2140.      oder ähnliches ein) ist NICHT GESTATTET.
  2141.  
  2142.      Eine Verbreitung der _unregistrierten_ Version über Mailbox-Systeme
  2143.      und FTP-Server ist ab Version 1.0.9 wieder erlaubt, da SysMon ohne
  2144.      Registrierung nur eingeschränkt genutzt werden kann. Registrierte
  2145.      SysMon-Versionen dürfen NICHT weitergegeben werden.
  2146.  
  2147.      Die neueste SysMon Version finden Sie daher in Mailboxen oder auf
  2148.      FTP-Servern, desweiteren ist ein Update durch Zusendung einer
  2149.      DD-Diskette und eines frankierten und adressierten Rückumschlages
  2150.      an meine Adresse erhältlich.
  2151.  
  2152.  
  2153.      Die Entwicklung von SysMon hat bisher 4 Jahre in Anspruch genommen, aus
  2154.      diesem Grunde sehe ich mich nicht in der Lage, SysMon kostenlos (als PD
  2155.      oder Freeware ) zu vertreiben.
  2156.  
  2157.      Da SysMon ein sehr komplexes Produkt ist, dessen Benutzung schon einiges
  2158.      an Wissen vorraussetzt, habe ich mich für das Konzept der Shareware
  2159.      entschieden, wonach SysMon frei kopiert und ausprobiert werden darf,
  2160.      für eine vollständige Nutzung jedoch ein Shareware-Betrag von DM 50,-
  2161.      fällig wird.
  2162.  
  2163.      Wird SysMon im professionellen Umfeld eingesetzt, so ist ein erhöhter
  2164.      Shareware-Betrag von 100 DM fällig. Für diese 100 DM erhält die/der
  2165.      jeweilige Firma/Softwareentwickler einen automatischen Update-Service
  2166.      für die nächsten 5 Versionen (nach grö₧eren Änderungen) und eine
  2167.      Rechnung/Quittung, damit sie SysMon von der Steuer absetzen können.
  2168.  
  2169.      Meine Bankverbindung lautet :
  2170.  
  2171.        Karsten Isakovic
  2172.        Sparkasse der Stadt Berlin
  2173.        Kto: 0950128864
  2174.        Blz: 10050000
  2175.  
  2176.      Bitte senden Sie mir zusätzlich eine kurze Mitteilung mit ihrer voll-
  2177.      ständigen Adresse, damit ich Ihnen den Schüssel per Postkarte zu-
  2178.      schicken kann.
  2179.  
  2180.      Ich übernehme keine Haftung für irgendwelche direkten oder indirekten
  2181.      Schäden - einschliesslich und nicht beschränkt auf materielle oder
  2182.      finanzielle - die durch die Benutzung von SysMon oder die Untaug-
  2183.      lichkeit von SysMon für einen bestimmten Zweck entstehen.
  2184.  
  2185.      Bei Fragen und Problemen bin ich über folgende E-Mail-Adressen
  2186.      erreichbar:
  2187.  
  2188.        Internet       ki@cs.tu-berlin.de
  2189.        Subnet         ki@tubopal.UUCP
  2190.        Fido-Net       K.I. % MAUS B @ 2:242/2.6
  2191.        Maus-Net       Karsten Isakovic @ B
  2192.        Zerberus-Netz  Karsten_Isakovic % MAUS B @ ZERMAUS.ZER
  2193.  
  2194.  
  2195.      Berlin, 26 März 1994
  2196.  
  2197.        Karsten Isakovic
  2198.