Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| z1013:software:monitor [2011/08/26 16:49] – angelegt volkerp | z1013:software:monitor [2022/10/24 06:46] (aktuell) – [VP-Monitor] volkerp | ||
|---|---|---|---|
| Zeile 4: | Zeile 4: | ||
| * {{: | * {{: | ||
| + | |||
| + | 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**: | ||
| + | |||
| + | Der Monitor 2.02 ist die originale Variante von Riesa. | ||
| + | Diese Version ist für den Anschluss der Flachfolientastatur gedacht. | ||
| + | |||
| + | Befehle s. [[z1013: | ||
| + | |||
| + | kommentiertes Listing s. [[z1013: | ||
| + | |||
| + | ===== Monitor A2 ===== | ||
| + | |||
| + | **Programmstandort**: | ||
| + | |||
| + | 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, | ||
| + | |||
| + | Bei der Realisierung der Abfrage fuer Schreibmaschinentastaturen hat ROBOTRON die INKEY-Funktion (RST20H/ | ||
| + | |||
| + | ===== Brosig-Monitor ===== | ||
| + | |||
| + | **Programmstandort**: | ||
| + | |||
| + | 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, | ||
| + | * kleine Unterschiede in S_Kdo (sav4-sav7) | ||
| + | * Bytekompatibel in allen weiteren Routinen | ||
| + | * und in den oberen 2K die Erweiterungen Tastaturroutine, | ||
| + | |||
| + | Die Erweiterungens des Brosig-Monitors sind im mp-Artikel beschrieben -> [[z1013: | ||
| + | |||
| + | |||
| + | ===== VP-Monitor ===== | ||
| + | |||
| + | **Programmstandort**: | ||
| + | |||
| + | 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/ | ||
| + | * 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 " | ||
| + | |||
| + | Aufbau s. [[z9001: | ||
| + | ===== mainsoft-Monitor ===== | ||
| + | |||
| + | **Programmstandort**: | ||
| + | |||
| + | 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, | ||
| + | |||
| + | Kommandos | ||
| + | |||
| + | **L [name]** | ||
| + | Einlesen des gesuchten Files. Der Name ist bis zum ersten Space signifikant. Bei Typangabe | ||
| + | |||
| + | **LA adr** | ||
| + | Einlesen ohne Namens- | ||
| + | |||
| + | **LA von bis** | ||
| + | Einlesen in den angegebenen Speicherbereich | ||
| + | |||
| + | **LA von bis blnr** | ||
| + | Einlesen in den angegebenen Speicherbereich | ||
| + | |||
| + | **LC** | ||
| + | Ausgabe des Memorypointers und Ausschrift | ||
| + | |||
| + | **S von bis start name** | ||
| + | Saven eines Files. Abgefragt werden der Filetyp | ||
| + | |||
| + | **S :** | ||
| + | Saven einer File mit dem im Kopfpufferbereich | ||
| + | |||
| + | |||
| + | **@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**: | ||
| + | **Start**: | ||
| + | (ZMINI=Zusatzmonitorinitialisierung) | ||
| + | |||
| + | Hieraus ist ersichtlich, | ||
| + | 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: | ||
| + | |||
| + | 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: | ||
| + | |||
| + | 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/ | ||
| + | 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 | ||
| + | |||
| + | |||
| + | ==== Dump-Funktion ==== | ||
| + | |||
| + | Standort: | ||
| + | |||
| + | Um die Nachteile des vorhandenen Z1013-DUMP zu überwinden, | ||
| + | (keine Anzeige über FFFFH hinaus, keine ASCII-Zeichen), | ||
| + | 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: | ||
| + | |||
| + | Beide handelsüblichen Monitorvarianten des Z1013 gestatten kei- | ||
| + | nen direkten Zugriff auf die E/ | ||
| + | Hardwarearbeiten ist das besonders nachteilig!\\ | ||
| + | Das Kommando **@O Padr. Dat.**(ENTER) übermittelt " | ||
| + | E/A- Adresse, die unter " | ||
| + | Beispiel: | ||
| + | |||
| + | @O 04 80(ENTER) | ||
| + | Umschalten auf den 64-Zeichen-Bildschirm | ||
| + | |||
| + | ==== Port-In-Funktion ==== | ||
| + | |||
| + | Standort: | ||
| + | |||
| + | 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: | ||
| + | |||
| + | 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: | ||
| + | |||
| + | **@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: | ||
| + | |||
| + | **@P** initialisiert die Druckertreiber-Software einschließlich der | ||
| + | E/ | ||
| + | (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, | ||
| + | |||
| + | 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 GETST unbenutzt | ||
| + | JMP AKP JMP HARDC unbenutzt | ||
| + | JMP SUCHK               JMP BSDR | ||
| + | JMP BSMK JMP DRAKK | ||
| + | JMP BLMK JMP DRDEL | ||
| + | JMP ZEIDR JMP ZMINI | ||
| + | JMP DRINI JMP LORUF | ||
| + | JMP BIN | ||
| + | JMP AIN | ||
| + | JMP BSTA  unbenutzt | ||
| + | JMP ASTA  unbenutzt | ||
| + | </ | ||
| + | |||
| + | |||
| + | Lit.: | ||
| + | |||
| + | * /1/ Lühne, V.: | ||
| + | * /2/ Brosig, R.: | ||
| + | * /3/ Bokelmann, L.; Günther, S.; Hinz, U.:Eine Speichererweiterung für den Z1013 -In: | ||
| + | * /4/ Peters, J.: | ||
| + | * /5/ Berg, P.: Ein Werkzeug für den Z1013 In: | ||
| + | |||