80-Bus Journal

  

Jan​/​Feb​/​März 1984 · Ausgabe 1

MONITOM

von Tom. D. Rüdebusch

Dieses Programm ist eines jener Hilfsprogramme, die eigentlich nie fertig werden. Es stellt einige zusätzliche Befehle und „SCAL“s zur Verfügung und ist mit den auftretenden Anforderungen mitgewachsen. Teilweise ist es speziell für meine Rechnerkonfiguration geschrieben, kann aber anhand des Assemblerlistings leicht angepaßt werden. Auf die entsprechenden Stellen werde ich in der Beschreibung hinweisen.

1. Allgemeines

Monitom wird bei $B000 warm- und bei $B003 kaltgestartet. Es belegt Speicher von $B000 bis etwa $B500 und braucht ab $C400 um die 60 Bytes Arbeitsspeicher. Die Druckroutine wird bei $CFDE (im Tapecontroller 3.1) erwartet. Immer wenn eine Eingabe über die Tastatur möglich ist, leuchtet die Cassettenrecorder-LED auf der Grundplatine. Es ist sinnvoll, diese zum Tastaturgehäuse herauszuführen.

2. Befehle

Einige Befehle wurden geändert oder hinzugefügt.

„D“ : ZEAP-Kaltstart

„DD“ : – „ -Warmstart

„H“ : wie gehabt

„H ARG1 ARG2“ :
Im ZEAP-Quelltext wird die Zeilennummer ARG1 durch ARG2 (beides dezimal!) ersetzt, alle darauffolgenden Zeilen werden mit ARG2 beginnend in Fünferschritten neu durchnumeriert. So kann man sich zum Einfügen in einen ZEAP-Text Platz schaffen. Um den Befehl aus ZEAP aufzurufen, erst „:“ <CR> eingeben.

„J“ : startet Tapecontroller 3.1

„L ARG1 ARG2 HH“ :
Lädt den Speicher von ARG1 (einschließlich) bis ARG2 (ausschließlich) mit HH. Weglaßwert für HH ist $E7.

„T ARG1“ :
Dies ist der verbesserte „Tabulate“-Befehl, der überhaupt erst den Anstoß zu den Monitorerweiterungen gab. Die Nas-Sys-Lösung mit den tausend Parametern und der fehlenden Editiermöglichkeit war mir zu umständlich, so daß ich sie etwas abänderte. „T“ wird jetzt nur noch mit einem Parameter aufgerufen, der angibt, ab wo der Speicherbereich aufgelistet werden soll. Daraufhin wird der Bildschirm entsprechend der gewohnten Darstellung vollgeschrieben. Mit „Pfeil oben“ bzw. „ – unten“ kann nun im Speicher eine Seite zurück- bzw. vorgeblättert werden. „Pfeil links“ bzw. „ – rechts“ gehen um eine Zeile zurück bzw. vor. <CH> bewirkt eine Ausgabe der entsprechenden ASCII-Zeichen in der rechten Bildschirmhälfte. Mit <CR> ist man im „Modify“-Modus, der wie bekannt mit „.“ abgeschlossen wird. Die Leerzeichen zwischen den einzelnen Bytes und das Enter am Ende jeder Zeile werden automatisch erzeugt und brauchen nicht mit eingegeben zu werden. Sind die Änderungen beendet, wird der neue Speicherinhalt ausgegeben, und es stehen wieder die beschriebenen Möglichkeiten zur Verfügung. Mit <ESC> wird der „T“-Befehl abgebrochen.

„Y“ : Monitom-Warmstart

„+ …“ :
Mit diesem Befehl werden Zeichen direkt an den Drucker übermittelt. Dabei wird für ein Leerzeichen nach „+“ jeweils <ESC> ausgegeben, so daß auf einfache Weise Druckformate etc. eingestellt werden können. Folgende Codes werden auf spezielle Weise interpretiert:

„0,1..6“ bewirken eine Sperrung der Proportionalschrift um 0..6 „Punkleerzeichen“
„D“ stellt Breitschrift ein
„C“ löscht     – „ -
„I“ initialisiert den Drucker

Diese Befehle sind auf einen Itoh 8518 bezogen. Um hier z.B. um zwei gesperrte Proportionalschrift und einen linken Rand bei Position 5 einzustellen, gibt man den Befehl wie folgt ein : „+ P 2 L005“ <CR>

3. Steuerzeichen

Außerdem stehen sechs Steuerzeichen zur Verfügung.

„ § “ : wirkt wie „Shift-Lock“

„GRAPH I“ : automatisches Einfügen innerhalb einer Zeile

„GRAPH P“ : schaltet den Drucker zu

„GRAPH S“ : gibt den Bildschirminhalt auf dem Drucker aus

„GRAPH N“ : „GRAPH I“ bzw. „ – P“ beenden

„GRAPH Z“ : initialisiert die Druckerausgabe des Assemblerlistings in ZEAP und gibt auf dem Bildschirm „O84“ aus, was gegebenenfalls mit <CR> übernommen werden kann

4. SCAL-Routinen

Diese Routinen werden genau wie die in Nas-Sys vorgesehenen mit $DF HH aufgerufen. Als Werte für HH sind dabei möglich:

$80 BFTO9
Eine Hex.-Zahl in HL wird in eine Dezimalzahl in CDE umgewandelt.

$81 RND
Ein einfacher Zufallszahlengenerator, der nach einem bestimmten Muster Bytes aus dem Microsoft-Basic ausliest und in A übergibt.

$82 RPTK
Bewirkt eine Abfrage der Tastatur ohne Verzögerung, sonst wie $62.

$83 PRINT
Gibt A auf dem Drucker aus.

$84 SCRINV
Invertiert die Bildschirmdarstellung über Bit 2 Port 6 und ändert den Wert in $0C00 entsprechend.

Seite 19 von 52