Dies ist eine alte Version des Dokuments!
Der Monitor
Sammelsurium (Bis die Seiten komplett sind)
- monitore.zip Quelltexte der Monitorprogramme Versionen 2.02, A2, Brosig, VP
Inhalt
- riesa
Die ROM-Inhalte der Originale von Riesa - jmueller
2K-Monitor als Ersatz für 2.02 - moner su 1.31
2K-Monitorzusatz. In Version 1.1 und 1.2 zum Nachladen, Version 1.31 als ROM - brosig
orig. RB-Quellcode + Doku + Binaries von diversen Versionen 2.028 und 2.029 für S6009, K7652, K7659, K7669, Riesa-Tastatus-Anschluss - mainsoft
4K-Monitor von Martin Duchrow für Brosig-Hardware und K7659 - vpohlers
Quellcode + Doku + Binaries diverser Versionen des 4K-Monitor von Volker Pohlers für Brosig-Hardware und K7659, 8×8-Tastatur mit Minimalhardware (1x CD 4051) - diverse
Urlader, Monitorvarianten zum Nachladen für Urlader, U807-Monitor (?), Seriell nach Falko Troj
Monitor 2.02
Programmstandort: F000H … F7FFH
Der Monitor 2.02 ist die originale Variante von Riesa. Diese Version ist für den Anschluss der Flachfolientastatur gedacht.
Befehle s. Bedienung
kommentiertes Listing s. Monitor 2.02
Monitor A2
Programmstandort: F000H … F7FFH
die wichtigsten Unterschiede A2 ↔ 2.02
- kein H- und A- und F-Kommandos
- andere Adressen Windows-Speicher
- andere INKEY-Routine und auch INCH-Routine!
- INCH hat Repeatfunktion
- KDO mit RST-Aufrufen programmiert, damit Verschiebung aller Routinen des Monitors!
Bei der Realisierung der Abfrage fuer Schreibmaschinentastaturen hat ROBOTRON die INKEY-Funktion (RST20H/DB4) leider nicht voll kompatibel zur bisherigen des Monitors 2.02 gestaltet. (Andere Verwaltung der Tastaturmerkzelle 4H.) Dadurch kommt es bei der INPUT-Funktion zum Tastenprellen.
Brosig-Monitor
Programmstandort: F000H … FFFFH
Der Brosig-Monitor belegt 4K Speicher von F000-FFFFh. Wesentliche Funktionen sind die Nutzung einer großen Tastatus (K7659, K7669, S3004 je nach Monitor-Version) und ein eingebautes Headersave.
die wichtigsten Unterschiede Brosig ↔ 2.02
- H- und A- Kommandos als Leerfunktion
- statt H- und A-Kommandos gibt es O und Z
- in freiem Raum der Inkey-Routine nun Z_Kdo, O_Kdo, Registeranzeige, Init3, Hardcopy
- kleine Unterschiede in S_Kdo (sav4-sav7)
- Bytekompatibel in allen weiteren Routinen
- und in den oberen 2K die Erweiterungen Tastaturroutine, Headersave, Sprungverteiler …
Die Erweiterungens des Brosig-Monitors sind im mp-Artikel beschrieben → Brosig-Tastatur nach mp
VP-Monitor
Programmstandort: F000H … FFFFH
meine Monitore entstanden als Erweiterung des (reassemblierten) Brosig-Monitors udn sind deshalb größtenteils kompatibel zu diesem Standardmonitor.
die wichtigsten Unterschiede VP 202B ↔ Brosig
- Erweiterung/Korrektur Brosig-Monitor
- Einbindung Joystick
- Centronics-Druckertreiber
- Zweite Shift-Ebene der Tastatur fuer Einbindung Peters-Platine
- Aenderung Headerload: kein @LDA, keine Nutzung von BPADR
Nach Version 202B gab es noch eine wesentliche Anpassung, da ich eine NANOS-RAM-Floppy erworben hatte und dafür ein HeaderDisk-kompatiblen Treiber geschrieben hatte. Um aus allen Programmen heraus die RAM-Floppy als schnellen Massenspeicher nutzen zu können, erfolgt im Monitor 202C bei den Kassettentransferroutinen eine Abfrage, ob man auf Kassette oder RAM-Floppy-Disk agieren möchte. Dazu muss natürlich eine HeaderDisk-Version geladen sein. Das funktioniert auch mit der präcitronc-RAM-Floppy und originalem HeaderDisk von Brosig.
die wichtigsten Unterschiede VP 202C ↔ VP 202B
- Einbindung von HeaderDisk bei Load/Save
- dadurch Wegfall von Bildschirmkopie BSDR
- kleine Aenderung in Sound (warum?)
mainsoft-Monitor
Programmstandort: F000H … FF7FFH
Auch von *mainsoft* (Martin Duchrow) gab es einen überarbeiteten Brosig-Monitor.
Der 4K Monitor © by *mainsoft* 30. 04. 1989 (Version 1.1) baut auf den Routinen des Z1013-Monitors sowie der Erweiterung durch R. Brosig (neue Tastaturabfrage, Sprungverteiler) auf. Neu eingearbeitet wurden die SAVE / LOAD-Routinen des maintape und ein neues Registerdisplay. Das Unterprogramm der Bildschirmausgabe sowie das „T“-Kommando wurden nur leicht verändert. Die freigewordenen Speicherplätze sind mit 0FFH aufgefüllt und werden weiteren Programmverbesserungen dienen. Alle Unterprogramme befinden sich auf ihren Originalstandorten, damit sich keine Kompatibilitätsprobleme ergeben.
Kommandos
L [name] Einlesen des gesuchten Files. Der Name ist bis zum ersten Space signifikant. Bei Typangabe „C“ erfolgt Autostart für COM-Files. Bei fehlerhafter CRC-Prüfsumme wird der Autostart unterdrueckt. Nach Fehlermeldungen kann das Einlesen durch BREAK (ASCII=3) abgebrochen oder nach Betätigung einer beliebigen anderen Taste forgesetzt werden.
LA adr Einlesen ohne Namens- oder Typkontrolle ab der angegebenen Speicheradresse.
LA von bis Einlesen in den angegebenen Speicherbereich ohne Kontrolle von Blocknummern (analog originalem Monitorkommando). Damit kann die bessere Datenerkennung des *maintape* auch fuer normale Files genutzt werden.
LA von bis blnr Einlesen in den angegebenen Speicherbereich ab der angegebenen Blocknummer.
LC Ausgabe des Memorypointers und Ausschrift von Kopfblöcken. Die Files werden in die Zeile des eingestellten Bildfensters eingelesen. Der Kopfpufferbereich wird nicht zerstört. Ein Abbruch ist mit BREAK möglich.
S von bis start name Saven eines Files. Abgefragt werden der Filetyp und die Filenummer.
S : Saven einer File mit dem im Kopfpufferbereich bereits enthaltenen Kopf. Die CRC-Prüfsumme wird neu bestimmt. Alle anderen Routinen entsprechen dem Original bzw. Monitor der IG HC an der TU Dresden (vgl. Mikroprozessortechnik Heft 7/1988).
@V [nnnn] Anzeige des Speicherbereichs an Speicheradresse nnnn. Weitergeblättert werden kann mit der ENTER-Taste. Abgebrochen wird mit Ctrl-C oder Shift4/C
MONER SU 1.31
Das Programm MONER SU (SU=Stefan Günther & Uwe Hinz) ist eine Monitorerweiterung für den Z1013. Es stützt sich auf die beiden handelsüblichen Monitorprogramme 2.02 oder A2 und läßt diese unverändert!
Programmstandort: F800H … FFFFH
Start: F800H oder FFEEH (Sprungverteilerfunktion ZMINI)
(ZMINI=Zusatzmonitorinitialisierung)
Hieraus ist ersichtlich, daß MONER SU eine Lösung neben dem
Monitor von R. Brosig ist.
Es ist daher besonders für Z1013-Benutzer geeignet, die eine
originale oder externe Tastatur anwenden.
Programmgliederung:
F800H ... F83BH Initialisierungsroutine F83CH ... FFB7H Funktionsroutinen FFB8H ... FFFFH Sprungverteiler nach /1/
Funktionsumfang:
Kassetteninterface-Funktion
Standort:F83CH …FC3BH
Als Kassetteninterface-Software wurde auf das bewährte
HEADERSAVE von R. Brosig /2/ zurückgegriffen. HEADERSAVE 5.95
wurde deshalb unverändert übernommen und auf die Anfangs-
adresse F83CH gelegt.
Bedient wird die Kassetteninterface-Funktion durch:
@L, @LXX, @LN, @LNX um zu laden und
@S Aadr. Eadr. Sadr., @S: um zu sichern.
Der RAM-Bereich E000H bis E3FFH, auf dem HEADERSAVE ansonsten
läuft, wird somit für andere Anwendungen frei.
Transferfunktion
Standort:FC3CH …FE54H
Diese Funktion bedient eine EPROM-Bank, die kurzzeitig in den
Adreßraum eingeblendet wird, um sie nach einem aufgerufenen
File (analog zu HEADERSAVE) abzusuchen und ihn anschließend zu
laden.
Die EPROM-Bank befindet sich auf einer RAM/ROM-Speicherkarte.
Diese ist als externe Speichererweiterung für den Z1013 ausge-
führt und in /3/ beschrieben.
Bedient wird die Transferfunktion in Anlehnung an HEADERSAVE
mit: @TN oder @TNX
@TN Laden eines mit Typ und Name aufgerufenen Files. Falls es sich um einen C-Typ handelt erfolgt ein Autostart.
@TNX Wie @TN, jedoch ohne Autostart
Beispiel:
@TN(ENTER) typ:C filename:RAMTEST RAMBUG Z (ENTER)
Dump-Funktion
Standort:FE55H …FE97H
Um die Nachteile des vorhandenen Z1013-DUMP zu überwinden,
(keine Anzeige über FFFFH hinaus, keine ASCII-Zeichen), wurde
ein HEX-ASCII-DUMP /5/ in MONER SU aufgenommen. Diese Funktion
zeigt auf einer Bildschirmzeile acht Speicherbyte in HEX-
Darstellung an und kommentiert diese mit ihren dazugehörigen
ASCII-Zeichen. Die Grafiksymbole (Codes 80H … FFH) werden
ebenfalls dargestellt.
Mit der Eingabe @D Aadr.(ENTER) wird ein Speicherbereich von
64 Byte angezeigt. Alle weiteren (ENTER) stellen die Anzeige
weiter. Erst über ^C (S4-K) wird die Dump-Funktion verlassen.
Port-Out-Funktion
Standort:FE98H …FEA2H
Beide handelsüblichen Monitorvarianten des Z1013 gestatten kei-
nen direkten Zugriff auf die E/A-Baugruppen des Rechners. Für
Hardwarearbeiten ist das besonders nachteilig!
Das Kommando @O Padr. Dat.(ENTER) übermittelt „Dat.“ an die
E/A- Adresse, die unter „Padr.“ angegeben ist.
Beispiel:
@O 04 80(ENTER) Umschalten auf den 64-Zeichen-Bildschirm
Port-In-Funktion
Standort:FEA3H …FEC0H
Mit @I Padr.(ENTER) kann man von einem Peripherie-Baustein Daten abfragen und auf den Bildschirm bringen.
Beispiel
@I 04(ENTER) >IN= 0F
Checksummen-Funktion
Standort:FEC1H …FF12H
Wenn man sich nach einem Bedienfehler oder nach einer Störung in der Hardware vom Datenerhalt des Speichers überzeugen will, fehlen in den Monitorvarianten 2.02 und A2 hierfür die Mittel. Die Checksummenfunktion benutzt die übliche CRC-Summe (cyclic retundancy check). Durch @C Aadr. Eadr.(ENTER) bestimmt man die Prüfsumme eines Speicherbereiches.
Beispiel: CRC von MONER SU 1.31
@C F800 FFFF(ENTER) >CRC= 72B7
Signalton
Standort:FF13H …FF2BH
@B löst über den Kassettenanschluß einen kurzen Signalton aus. Mit der Anweisung J FFDC (Sprungverteilerfunktion BEEP) läßt sich das gleiche erzielen.
Druckertreiber-Initialisierung
Standort:FF2CH …FF37H
@P initialisiert die Druckertreiber-Software einschließlich der E/A-Baugruppen der Druckerschnittstelle. (Sprungverteilerfunktion DRINI)(DRINI=Druckerinitialisierung). Die Monitoranweisung J FFCD bewirkt das gleiche.
Drucken über POKE
Innerhalb des BASIC-Interpreters KC-BASIC+ kann man mit dem Unterprogramm
xxxx POKE 27,ASC(A$):CALL *FFDF:RETURN
xxxx = Zeilennummer
A$ = Strinvariable (ein Zeichen lang)
einzelne Zeichen an einen eingebundenen Druckertreiber übemitteln (Sprungverteilerfunktion DRZEL)(DRZEL=Druck einer Zelle).
Sprungverteiler
Der Sprungverteiler nach /1/, der bereits zum Quasistandard mit DDR-weiter Wirkung geworden ist, bildet ein ideales Hilfsmittel zum effektiven Softwaretausch. Innerhalb von MONER SU 1.31 ist er mit den wichtigsten Positionen besetzt:
JMP SOUND unbenutzt JMP BEEP JMP GETST unbenutzt JMP DRZEL JMP AKP JMP HARDC unbenutzt JMP SUCHK JMP BSDR unbenutzt JMP BSMK JMP DRAKK JMP BLMK JMP DRDEL JMP ZEIDR JMP ZMINI JMP DRINI JMP LORUF JMP BIN unbenutzt JMP SARUF JMP AIN unbenutzt JMP STAT unbenutzt JMP BSTA unbenutzt JMP POLL unbenutzt JMP ASTA unbenutzt JMP INKEY unbenutzt
Lit.:
- /1/ Lühne, V.:Sprungverteiler für den Z1013 -In:FUNKAMATEUR. Berlin 37(1988)10. S. 484
- /2/ Brosig, R.:HEADER-SAVE V 5.9 -In:Dokumentation zur 1. Z1013-Tagung, Dresden 05.12.1987. -KdT Dresden. S. 7
- /3/ Bokelmann, L.; Günther, S.; Hinz, U.:Eine Speichererweiterung für den Z1013 -In:FUNKAMATEUR. -Berlin 38(1989)7, S. 323
- /4/ Peters, J.:64-Zeichen-Darstellung -Vortrag und Dokumentation zur 2. Z1013-Tagung, Leipzig 19.05.1989. robotron Leipzig
- /5/ Berg, P.: Ein Werkzeug für den Z1013 In:FUNKAMATEUR. Berlin 37(1988)3. S. 121