Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
z1013:software:monitor [2011/08/26 16:49] – angelegt volkerpz1013:software:monitor [2022/10/24 06:46] (aktuell) – [VP-Monitor] volkerp
Zeile 4: Zeile 4:
  
   * {{:z1013:software:monitore.zip|}} Quelltexte der Monitorprogramme Versionen 2.02, A2, Brosig, VP     * {{:z1013:software: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, 8x8-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. [[z1013:bedienung|]]
 +
 +kommentiertes Listing s. [[z1013:software:monitor:riesa202|]]
 +
 +===== 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 -> [[z1013:erweiterungen:tastatur:brosig|]] 
 +
 +
 +===== 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?)
 +
 +Zur Drucker-Hardware siehe Textfile "CENTRONICS-Druckertreiber fuer Z1013". Dieses ist auf der Kassette zur [[z1013:tagungen#tagung2|4. Tagung Jena]] als Seite b: centronics.TXT zu finden. Original wurde ein K6325 genutzt (Epson-Steuercodes). Ggf. muss man die Initialisierung INLST des eigenen Druckers an andere Steuercodes anpassen.
 +
 +Aufbau s. [[z9001:drucken#anschluss_von_druckern_mit_paralleler_schnittstelle_centronics]]
 +===== mainsoft-Monitor =====
 +
 +**Programmstandort**: F000H ... FF7FFH 
 +
 +Auch von *mainsoft* (Martin Duchrow) gab es einen überarbeiteten Brosig-Monitor.
 +
 +Der 4K  Monitor (c) 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 eingestell­ten 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
 +
 +M. Duchrow schreibt:
 +//Auch das R-Kommando zur Ausgabe der Register ist stark erweitert.\\ 
 +Der Brosig-Monitor hat seine Tastaturmacros für die Funktionstasten mit BASIC-Kommandos belegt. Ich brauchte dagegen Assembler-Befehle und habe diese für mich selbst eingetragen. Aber ob die Version mit dem BASIC-Befehlen auch im Umlauf ist, weiß ich nicht mehr.//
 +
 +
 +
 +
 +===== 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:
 +
 +<code>
 +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
 +</code>
 +
 +
 +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
 +
  
  • z1013/software/monitor.txt
  • Zuletzt geändert: 2022/10/24 06:46
  • von volkerp