Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
z9001:software:zm [2017/02/02 11:10] – [Allgemein verwendbare Monitor-Routinen] volkerpz9001:software:zm [2021/05/31 12:31] (aktuell) – [Bedienung] volkerp
Zeile 1: Zeile 1:
 ====== Zusatzmonitor ZM ======  ====== Zusatzmonitor ZM ====== 
  
-Der Zusatzmonitor ZM stellt eine Erweiterung für das OS des Z9001 dar und bringt maschinennahe Funktionen wie Speichern von Programmen auf Kassette (ja, da gibt es nicht im OS!), Speichereditor (Move, Fill, Search, Edit), Portabfrage, Programmstart mit Breakpoints, Registeranzeige, Hex-Rechnen sowie zusätzliche Gerätetreiber für SIF1000, Drucker über den V24-Port sowie Ausgabe im Intex-HEX-Format oder ASCII auf allen unterstützten Geräten (auch TAPE!).+Der Zusatzmonitor ZM stellt eine Erweiterung für das OS des Z9001 dar und bringt maschinennahe Funktionen wie Speichern von Programmen auf Kassette (ja, da gibt es nicht im OS!), Speichereditor (Move, Fill, Search, Edit), Portabfrage, Programmstart mit Breakpoints, Registeranzeige, Hex-Rechnen sowie zusätzliche Gerätetreiber für SIF1000, Drucker über den V24-Port sowie Ausgabe im Intel-HEX-Format oder ASCII auf allen unterstützten Geräten (auch TAPE!).
  
 **Achtung! Der ZM hält sich nicht an die Vorschriften des Z9001 zur Installation von Gerätetreibern etc. Vorhandene Treiber werden einfach überschrieben, ebenso das I/O-Byte. Bei Nutzung der Vollgrafik und Treibern wie CRT80 ist deshalb der ZM in originaler Version nicht nutzbar! Im Mega-Flash sind modifizierte Versionen enthalten, die sich an die Vorgaben halten und mit anderen Programmen zusammenarbeiten** **Achtung! Der ZM hält sich nicht an die Vorschriften des Z9001 zur Installation von Gerätetreibern etc. Vorhandene Treiber werden einfach überschrieben, ebenso das I/O-Byte. Bei Nutzung der Vollgrafik und Treibern wie CRT80 ist deshalb der ZM in originaler Version nicht nutzbar! Im Mega-Flash sind modifizierte Versionen enthalten, die sich an die Vorgaben halten und mit anderen Programmen zusammenarbeiten**
 +
 +2021 [[wp>Zapple_Monitor]] ist der Urvater des Zusatzmonitors. Kommandos, Bedienung, Implementierung stimmen größtenteils mit dem dem Zapple Monitor 1.1 überein. Leider lässt sich ohne Kontakt zum Autor nicht mehr ermitteln, welche Version tatsächlich Pate gestanden hat. Denkbar ist, dass der RDK-Monitor des mc-Computers zur Verfügung stand. Dieser basiert ebenfalls auf dem Zapple-Monitor. 
  
 ===== Version 2.0 ===== ===== Version 2.0 =====
Zeile 9: Zeile 11:
 Entwickelt wurde der Zusatzmonitor von Dr. Frank Schwarzenberg, dem Entwickler des [[z9001:cpm|CP/A]] für den Z9001 und vieler anderer Systemsoftware. Die **Version 2.0** entstand 1985 und erschien in verschiedenen Varianten (die Ziffern im Programmnamen hinter ZM stehen dabei nicht für die Version, sondern für die Anfangsadresse des genutzten Speicherbereichs): Entwickelt wurde der Zusatzmonitor von Dr. Frank Schwarzenberg, dem Entwickler des [[z9001:cpm|CP/A]] für den Z9001 und vieler anderer Systemsoftware. Die **Version 2.0** entstand 1985 und erschien in verschiedenen Varianten (die Ziffern im Programmnamen hinter ZM stehen dabei nicht für die Version, sondern für die Anfangsadresse des genutzten Speicherbereichs):
  
-  * ZM30 der Kassette {{z9001:kassetten:r0112.zip|R0112}} (Gerätegrundkassette), \\  neue Variante des ZM 2.0 +  * ZM30 der Kassette [[z9001:kassetten_robotron:r0112|]] (Gerätegrundkassette), \\  neue Variante des ZM 2.0 
-  * ZM30, ZM70, ZMA8 von den Kassetten {{z9001:kassetten:r0121.zip|R0121}} und {{z9001:kassetten:r0122.zip|R0122}} (Assembler bzw. IDAS) \\  alte Variante, s. Tabelle+  * ZM30, ZM70, ZMA8 von den Kassetten [[z9001:kassetten_robotron:r0121|]] und [[z9001:kassetten_robotron:r0122|]] (Assembler bzw. IDAS) \\  alte Variante, s. Tabelle
   * IDAS-Modul robotron mit ZM im ROM (IDAS ohne Meldung, ZM mit Meldung "Z9001 MONITOR V2.0 (ROM) 1985" und mit EPROM-Software für das Programmiermodul \\  (das ist die neue Variante des ZM 2.0)   * IDAS-Modul robotron mit ZM im ROM (IDAS ohne Meldung, ZM mit Meldung "Z9001 MONITOR V2.0 (ROM) 1985" und mit EPROM-Software für das Programmiermodul \\  (das ist die neue Variante des ZM 2.0)
-  * IDAS-Modul Variante U. Zander sowie KCEMU (IDAS mit Meldung "INTERPRETING DIALOG-ASSEMBLER", ZM mit Meldung "Z9001 MONITOR CENT. 1986" und mit RENEW und QUICK, NORMAL, QLOAD \\  (das ist die alte Variante des ZM 2.0)+  * IDAS-Modul Variante U. Zander sowie KCEMU (IDAS mit Meldung "INTERPRETING DIALOG-ASSEMBLER", ZM mit Meldung "Z9001 MONITOR CENT. 1986" und mit RENEW und [[z9001:software:turbo#quick_v_idas-modul_uzander|QUICK, NORMAL, QLOAD]] \\  (das ist die alte Variante des ZM 2.0)
  
 Bei den ersten Varianten des ZM und Version 1.2 des OS-KC85/1 kann es bei den Treibern SIFA und TD40 unter Umständen Probleme mit der CTRL/P-Funktion (Hardcopy) geben. Deshalb sei an dieser Stelle auf die erforderlichen Korrekturen für eine saubere Arbeitsweise der ZM-Treiber hingewiesen (aus [[z9001:literatur:treiber|]]). In meinem Quellcode ist das entsprechend kommentiert. Bei den ersten Varianten des ZM und Version 1.2 des OS-KC85/1 kann es bei den Treibern SIFA und TD40 unter Umständen Probleme mit der CTRL/P-Funktion (Hardcopy) geben. Deshalb sei an dieser Stelle auf die erforderlichen Korrekturen für eine saubere Arbeitsweise der ZM-Treiber hingewiesen (aus [[z9001:literatur:treiber|]]). In meinem Quellcode ist das entsprechend kommentiert.
Zeile 55: Zeile 57:
 | **P (Punch)** | Ausgabe im INTEL-Hex-Format auf den Punch-Kanal | Panfadr_endadr (_stadr bei AP=T) | | **P (Punch)** | Ausgabe im INTEL-Hex-Format auf den Punch-Kanal | Panfadr_endadr (_stadr bei AP=T) |
 | **Q (Query)** | Lesen und Schreiben auf I/O-Ports | QIport Lesen vom Port\\  QOport_byte Schreiben zum Port | | **Q (Query)** | Lesen und Schreiben auf I/O-Ports | QIport Lesen vom Port\\  QOport_byte Schreiben zum Port |
-| **R (Read)** | Einlesen eines INTEL-Hex-Files über den Reader-Kanal | R[base] |+| **R (Read)** | Einlesen eines INTEL-Hex-Files *oder TDL-HEX* über den Reader-Kanal | R[base] |
 | **S (Substitute)** | Modifizieren von Speicherzellen. Mit der Leertaste kann zur Adresse weitergeschaltet werden. Mit <ENTER> wird das Kommando beendet. | Sanfadr | | **S (Substitute)** | Modifizieren von Speicherzellen. Mit der Leertaste kann zur Adresse weitergeschaltet werden. Mit <ENTER> wird das Kommando beendet. | Sanfadr |
 | **T (Type)** | Ausgabe in ASCII-Darstellung | Tanfadr_[endadr] | | **T (Type)** | Ausgabe in ASCII-Darstellung | Tanfadr_[endadr] |
Zeile 113: Zeile 115:
 Sollte der Druckermodul gesteckt sein, so wird bei AC=C auf dem Drucker protokolliert, bei AL=V auf dem Bildschirm. Sollte der Druckermodul gesteckt sein, so wird bei AC=C auf dem Drucker protokolliert, bei AL=V auf dem Bildschirm.
 Bei AL=L erfolgt die Druckausgabe auf einen an den PIO-Port angeschlossen seriellen-Drucker TD40. Bei AL=L erfolgt die Druckausgabe auf einen an den PIO-Port angeschlossen seriellen-Drucker TD40.
- 
  
 Bei der ROM-Version ZM2.0 CENT. 1986 und auch im ZM2.0A erfolgt mit AL=V die Druckausgabe auf einen an den PIO-Port angeschlossen Centronics-Drucker. Bei der ROM-Version ZM2.0 CENT. 1986 und auch im ZM2.0A erfolgt mit AL=V die Druckausgabe auf einen an den PIO-Port angeschlossen Centronics-Drucker.
  
-Details zum Hardware-Anschluss s. mp-Artikel und Quellcode.+Details zum Hardware-Anschluss siehe mp-Artikel [[z9001:literatur:treiber|]] und Quellcode. 
 + 
 +Der ZM nutzt **nicht** die ASGN-Anweisung. Beim start des ZM wird die Zuordnungstabelle mit den entsprechenden Adressen geladen, da alle Treiber resident sind. Die Auswahl der ZM-Treiber muss deshalb mit dem ZM-Kommando A(ssign) erfolgen (Stellen des I/O-Bytes). 
  
 ===== Quellcode ===== ===== Quellcode =====
Zeile 126: Zeile 130:
  
 30.4.15: Im Paket ist eine modifizierte Version des ZM 2.0: hier werden die Gerätetreiber etwas OS-freundlicher eingebunden: vorhandene Treiber werden nicht einfach überschrieben, und bei ASGN werden Treibernamen angezeigt. 30.4.15: Im Paket ist eine modifizierte Version des ZM 2.0: hier werden die Gerätetreiber etwas OS-freundlicher eingebunden: vorhandene Treiber werden nicht einfach überschrieben, und bei ASGN werden Treibernamen angezeigt.
-Diese Version funktioniert recht gut z.B. mit den CRT40P und CRT80P-Treibern der KRT-Grafik. Das I/O-Byte wird beim Start nicht verändert, es bleiben die OS-Zuweisungen gültig. Bei Bedarf muss man PUNCH und READER die Konsole selbst zuweisen((Das ist leider nicht so einfach, da im OS ein ASGN PUNCH:=CRT nicht zulässig ist. So muss man die +Diese Version funktioniert recht gut z.B. mit den CRT40P und CRT80P-Treibern der KRT-Grafik. Das I/O-Byte wird beim Start nicht verändert, es bleiben die OS-Zuweisungen gültig. Bei Bedarf muss man PUNCH und READER die Konsole selbst zuweisen((Das ist leider nicht so einfach, da im OS ein ASGN PUNCH:=CRT nicht zulässig ist. So muss man die Treibertabelle manipulieren: auf EFD1 DA  0F8F1h (TTY-Treiber für READER) und EFD9 DA  0F8F1h (TTY-Treiber für PUNCH), d.h. SEDF1 F1 F8, SEDF9 F1 F8, und dann AR=C, AP=C)). 
-Treibertabelle manipulieren: auf EFD1 DA  0F8F1h (TTY-Treiber für READER) und EFD9 DA  0F8F1h (TTY-Treiber für PUNCH), d.h. SEDF1 F1 F8, SEDF9 F1 F8, und dann AR=C, AP=C)).+ 
 +2020: die aktuelle modifizierte Version des ZM 2.0 initialisiert wie im Original AR=C, AP=C, eine Manipulation der Treibertabelle ist nicht mehr nötig!
  
-{{:z9001:software:zm20a.gif|}}+{{:z9001:software:zm20a.gif|}} {{:z9001:software:zm20b.gif|aktuell}}
 ===== Allgemein verwendbare Monitor-Routinen ===== ===== Allgemein verwendbare Monitor-Routinen =====
  
  • z9001/software/zm.1486033817.txt.gz
  • Zuletzt geändert: 2017/02/02 11:10
  • von volkerp