Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
z1013:software:monitor [2011/08/26 16:49] – angelegt volkerp | z1013:software:monitor [2014/03/27 20:15] – [mainsoft-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?) | ||
+ | |||
+ | ===== 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: | ||
+ | |||