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:erweiterungen:pzg [2011/01/16 10:49] volkerpz9001:erweiterungen:pzg [2026/02/04 16:23] (aktuell) – [PZG=ALL] volkerp
Zeile 1: Zeile 1:
 ====== Programmierbarer Zeichengenerator ====== ====== Programmierbarer Zeichengenerator ======
  
-In "Mikroprozessortechnik" 7/1988, S. 221 wurd ein Programmierbarer Zeichengenerator für den KC 87 vorgestellt:+In "Mikroprozessortechnik" 7/1988, S. 221 wurdE ein Programmierbarer Zeichengenerator für den KC 87 vorgestellt:
  
 **Programmierbarer Zeichengenerator für den KC 85/1 und KC 87**  **Programmierbarer Zeichengenerator für den KC 85/1 und KC 87** 
Zeile 8: Zeile 8:
 eine beschränkte, nicht frei programmierbare, quasigrafische Darstellung  eine beschränkte, nicht frei programmierbare, quasigrafische Darstellung 
 der auf einem EPROM vorhandenen Grafikzeichen (ASCII-Code 128 bis 255 Dez.).  der auf einem EPROM vorhandenen Grafikzeichen (ASCII-Code 128 bis 255 Dez.). 
-Mit der  Hardware-Ergänzunq "Programmierbarer Zeichengnerator (PZG)"+Mit der  Hardware-Ergänzung "Programmierbarer Zeichengenerator (PZG)"
 können durch den Nutzer 126 Grafikzeichen frei programmiert  können durch den Nutzer 126 Grafikzeichen frei programmiert 
 (Erzeugung der gewünschten Bitmuster), auf dem Bildschirm dargestellt  (Erzeugung der gewünschten Bitmuster), auf dem Bildschirm dargestellt 
 und ggf. über einen Drucker (K6313 o. ä.) ausgegeben werden.  und ggf. über einen Drucker (K6313 o. ä.) ausgegeben werden. 
  
-Der  PZG  besteht aus einer kleinen Leiterplatie mit einem zusätzlichen 1- +{{:z9001:erweiterungen:pzg_funktion.gif|}} 
-KByte-RAM  (2xU 214),  einem herkömmlichen Zeichensatz auf einem+{{:z9001:erweiterungen:pzg_russisch.gif|}} 
 +{{:z9001:erweiterungen:pzg_schreibschrift.gif|}} 
 +{{:z9001:erweiterungen:pzg_schaltbild.gif|}} 
 + 
 +Der  PZG  besteht aus einer kleinen Leiterplatte mit einem zusätzlichen 1- 
 +KByte-RAM (2xU 214), einem herkömmlichen Zeichensatz auf einem
 2-KByte-EPROM (224 programmierte ASCII-Zeichen 32 bis 255 2-KByte-EPROM (224 programmierte ASCII-Zeichen 32 bis 255
 Dez.) und einem Flip-Flop (DL074) zur wechselseitigen Umschaltung  Dez.) und einem Flip-Flop (DL074) zur wechselseitigen Umschaltung 
Zeile 25: Zeile 30:
  
 Die realisierte Installierung der PZG-Leiterkarte, die zweckmäßigerweise  Die realisierte Installierung der PZG-Leiterkarte, die zweckmäßigerweise 
-an Stelle des Farbmoduis (der Farbmodul befindet sich auf der PZG-Karte) +an Stelle des Farbmoduls (der Farbmodul befindet sich auf der PZG-Karte) 
 unter Nutzung der Standard-Steckverbindung vorgenommen  unter Nutzung der Standard-Steckverbindung vorgenommen 
-wurde, verändert äußerlich den KC8511 nicht und sichert die herkömmliche  +wurde, verändert äußerlich den KC85/nicht und sichert die herkömmliche  
-Funktionsfähigkeit des Kieincomputers+Funktionsfähigkeit des Kleincomputers
  
 Es bestehen die Möglichkeiten der Verwendung verschiedenartiger Zeichensätze, z. B.:  Es bestehen die Möglichkeiten der Verwendung verschiedenartiger Zeichensätze, z. B.: 
Zeile 34: Zeile 39:
   * grafische Funktionsdarstellungen    * grafische Funktionsdarstellungen 
   * kyrillische Buchstaben (Russisch-Zeichensatz)    * kyrillische Buchstaben (Russisch-Zeichensatz) 
-  * lateinische Scnreibscnrift und  +  * lateinische Schreibschrift und  
-  * Darstellung elektroniscner Schaltungen. +  * Darstellung elektronischer Schaltungen. 
  
 Ergänzende Software ermöglicht die Programmierung von  Ergänzende Software ermöglicht die Programmierung von 
-Grafikzeichen (MC-PrOgramme) und das Ausdrucken der erzeugten Bildschirminhalte +Grafikzeichen (MC-Programme) und das Ausdrucken der erzeugten Bildschirminhalte
  
 Die Betreibung des PZG ist sinnvollerweise mit Farbmodul (aber auch  Die Betreibung des PZG ist sinnvollerweise mit Farbmodul (aber auch 
 ohne Farbfernsehgerät und RGB-Satz) zu realisieren.  ohne Farbfernsehgerät und RGB-Satz) zu realisieren. 
-Neben einer selbstgefertigten  PZG-Leiterkarte liegen eine Kurzdokumentation +Neben einer selbst gefertigten  PZG-Leiterkarte liegen eine Kurzdokumentation 
 zur Hardwarelösung und Programmbeschreibung beispielhafter  zur Hardwarelösung und Programmbeschreibung beispielhafter 
-Demostrations-Software vor.+Demonstrations-Software vor.
  
 TU Magdeburg, Büro für Neuererwesen, Bundrock  TU Magdeburg, Büro für Neuererwesen, Bundrock 
Zeile 53: Zeile 58:
 Th. Bundrock erinnert sich: Th. Bundrock erinnert sich:
 //Meiner heutigen Erinnerung nach //Meiner heutigen Erinnerung nach
-enstand der "Programmierbare Zeichergenerator" aus der der+entstand der "Programmierbare Zeichengenerator" aus der der
 Darstellungsnot (ein Plakat war uns zu "poplig" für ein "Jugendobjekt" Darstellungsnot (ein Plakat war uns zu "poplig" für ein "Jugendobjekt"
 in der Chemischen Industrie (Steuerung und Regelung einer SKL-Ofenanlage in der Chemischen Industrie (Steuerung und Regelung einer SKL-Ofenanlage
Zeile 83: Zeile 88:
 Sprachmodul, den ersten Plotter, Programmiermodul, E/A-Modul, Textmodul Sprachmodul, den ersten Plotter, Programmiermodul, E/A-Modul, Textmodul
 und noch ???// (von Juli 2007) und noch ???// (von Juli 2007)
 +
 +===== Downloads =====
 +
 +  * {{ :z9001:erweiterungen:k02_pzg.zip |}} Programme zur PZG, s.u.
 +  * {{ :z9001:erweiterungen:unterlagen_pzg.pdf |}} 02/2026, Danke an A.Senf Unterlagen zur PZG
 +  * {{ :z9001:erweiterungen:software_pzg.zip |}} 02/2026 Analyse von PZG=ALL u.a.m.
  
 ===== Hardware ===== ===== Hardware =====
  
-Leider habe ich noch keine Schaltungs-Unterlagen zur Hardware erhalten.+{{:z9001:erweiterungen:schaltung_pzg.jpg?300 |}} 
 +Bis Feb. 2011 hatte ich noch keinerlei Schaltungs-Unterlagen zur Hardware. Dank A.S. haben wir nun auch den Stromlaufplan (links). Folgendes ließ sich jedoch schon aus der Software ableiten und stimmt offensichtlich mit der Hardware überein: 
 + 
 +Es gibt einen zusätzlichen 1K-RAM-Bereich. Die Ansteuerung wird wie folgt realisiert: 
 +  * Bei Schreibzugriff auf EBFEh wird die PZG aktiv, d.h. der zusätzliche 1K-RAM dient als Zeichengenerator für die Zeichen 80h..FFh. Zeichen 00h..7Fh kommen weiterhin aus dem normalen Zeichensatz-ROM 
 +  * Bei Schreibzugriff auf EBFFh wird die PZG deaktiviert, d.h. normaler Z9001-Betrieb mit Zeichensatz-ROM 
 +  * Bei Schreibzugriff auf 0EBFCh wird der zusätzliche 1K-RAM im Bereich E800h..EBEFh(EBFF?) eingeblendet; bei nachfolgendem Schreibzugriff auf EBFEh wird der PZG-RAM ausgeblendet und wieder der normale Farb-RAM zum Beschreiben aktiviert. 
 + 
 +<code> 
 +; Zeichensatz laden 
 +LD HL,ZG-BUFF 
 +LD DE,0E800H 
 +LD BC,1008 ;3F0 
 +LD (-5124),A ;EBFC 
 +LDIR  
 +LD (-5122),A ;EBFE 
 +RET  
 +</code>
  
 {{:z9001:erweiterungen:pzg_romram1.jpg?300|}} {{:z9001:erweiterungen:pzg_romram1.jpg?300|}}
 {{:z9001:erweiterungen:pzg_romram2.jpg?300|}} {{:z9001:erweiterungen:pzg_romram2.jpg?300|}}
  
-Ein umgebautes ROM-Modul mit RAM, enthält PZG/RNEW, MENU (HC-CAOS von D. Ambras), C, E (Speicher-Inhalt PZGOK.kcc) (Besitzer A.S.)+Ein umgebautes ROM-Modul mit RAM (Besitzer A.S.), enthält die Programm-Pakete 
 +  * PZG/RNEW,  
 +  * MENU (HC-CAOS),  
 +  * Copy 3.1 (R.Wobst) 
 +  * Eprommer-Software (robotron) 
 + 
 +Die Datei PZGOK.TAP enthält einen 16K-Speicher-Abzug eines KC87 mit gestecktem ModulOffenbar sind die Adress-Bereiche im ROM-Modul auch geändert, sie passen nicht zu einem originalen [[..:module_robotron:rom-modul|ROM-Modul]]. 
 + 
 +<code> 
 +Platz 1: C, E A000..A3FF COPY 3.1, A400-AFFF EPROM 
 +Platz 3: MENU 9800..9FFF HC-CAOS 
 +Platz 4: PZG/RNEW A800..AFFF RNEW, PZG 
 +Platz 5: 2K RAM ????..???? 
 +</code> 
 + 
 + 
 +2023: U. Zander besitzt eine PZG-Platine: https://www.sax.de/~zander/z9001/module/pzg.html
  
 ===== Software ===== ===== Software =====
  
-| PZG_COM.TAP |  +| PZG_COM.TAP      | Editieren bzw. Erstellen von Zeichen/Zeichensätzen                                                                                                                                               
-| PZG=ALL _sss.tap |  +| PZG=ALL_sss.tap  | das große Demonstrationsprogramm (laden im BASIC)                                                                                                                                                
-| PZ-ENDE_COM.TAP | call*6400 Schreibschrift\\ call*6900 Schaltzeichen\\ call*7400 Funktionen/Schreibschrift\\ call*7900 Funktionen\\ call*7e00 kyrillische Buchstaben\\ call*7e20 EPROM-EIN | +| PZ-ENDE_COM.TAP  fertige Zeichensätze\\ call*6400 Schreibschrift\\ call*6900 Schaltzeichen\\ call*7400 Funktionen/Schreibschrift\\ call*7900 Funktionen\\ call*7e00 kyrillische Buchstaben\\ call*7e20 EPROM-EIN  
-| ZG-ROM_COM.TAP |  +| ZG-ROM_COM.TAP   | Zeichensatz Z9001 mit Umlauten                                                                                                                                                                   
-| ZG-ROMA_COM.TAP |  +| ZG-ROMA_COM.TAP  | Zeichensatz Z9001                                                                                                                                                                                
-FUNKT_SSS.TAP | FUNKT_COM.TAP | FUNKT_TXT.TAP |  +FUNKT_TXT.TAP    | Quellcode MC-Anteil                                                                                                                                                                              | 
-HARDC_COM.TAP | HARDC_TXT.TAP |  +| FUNKT_COM.TAP    compilierter MC-Anteil                                                                                                                                                                           | 
-| SINUS_SSS.TAP |  +| FUNKT_SSS.TAP    | Funktionskreuz, Lissajous-Figur                                                                                                                                                                  
-| DIAG_SSS.TAP | +HARDC_TXT.TAP    Quellcode MC-Anteil                                                                                                                                                                              | 
 +| HARDC_COM.TAP    | compilierter MC-Anteil                                                                                                                                                                           
 +| SINUS_SSS.TAP    | DOKE 863,5000:RUN, erzeugt Sinus-Kurve                                                                                                                                                           
 +| DIAG_SSS.TAP     DOKE 863,5000:RUN erzeugt 3D-Stapel-Diagramm                                                                                                                                                     | 
 +| RNEW_PZG.TAP     | wie im ROM. Achtung! hier stimmen die Adresse nicht! Das Prog. muss auf A800 geladen werden!                                                                                                     | 
 + 
 +{{:z9001:erweiterungen:funkt_sss.png|}} {{:z9001:erweiterungen:sinus_sss.png|}} {{:z9001:erweiterungen:diag_sss.png|}} 
 + 
 +PZ-ENDE_COM call*7e20 EPROM-EIN kann nicht stimmen.\\ 
 +RNEW_PZG.TAP Die Ladeadresse passt nicht! Das Prog, muss auf A800 geladen werden. Vermutlich fürs EPROM-Brennen auf 1000 abgelegt? 
 + 
 +===== PZG=ALL ===== 
 + 
 +{{:z9001:erweiterungen:pz-ende-adr.gif |}} So sehen die Zeichensätze im Speicher abgelegt aus. (PZ-ENDE_COM.TAP, ist auch in PZG=ALL _sss.tap so enthalten). Nach einem Zeichensatz folgt ein kurzes Maschinencodeprogramm zum Laden des Zeichensatzes. 
 +Man beachte, dass die Zeichen NICHT in ASCII-Reihenfolge aufgebaut sind. Die Zeichen werden über Grafikzeichen ausgegeben, und deren Zuordnung zu den ASCII-Zeichen erfolgt im OS über eine Umsetzungstabelle. In der Praxis bedeutet das, dass die passenden Zeichen des Kursiv-Zeichensatzes dadurch trotzdem beim Druck auf die jeweilige Taste erscheinen. 
 + 
 +Das BASIC-Programm PZG=ALL enthält diverse Demos in Endlosschleife. Das Programm ist aus Maschinecode-Teilen und drei BASIC-Teilen zusammengesetzt. Durch Manipulation des Programmanfang-Zeigers (DOKE 863,xxxx) werden die BASIC-Programme selektiert. Zwischen den Teilen steckt Maschinencode: 
 + 
 +<code> 
 +0401h  BASIC-Programm, startet Programm 3 
 +1100dez MC-Unterprogramme zur Laufzeitgenerierung eines Zeichensatzes (Vollgrafik für Funktionsplotter) 
 +2000dez BASIC-Programm (Funktionsplotter) 
 +6000h..7EFFh Zeichensätze und Ladeprogramme (s.a. PZ-ENDE.COM) 
 +8000h  das Haupt-BASIC-Programm mit 4 Beispielen 
 +</code>
  
 +<WRAP clear/>
  
  • z9001/erweiterungen/pzg.1295174941.txt.gz
  • Zuletzt geändert: 2011/01/16 09:49
  • (Externe Bearbeitung)