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:krtgrafik [2010/07/23 11:16] volkerpz9001:erweiterungen:krtgrafik [2016/06/03 12:47] (aktuell) – [Hardwarefehler] volkerp
Zeile 13: Zeile 13:
 ===== Nutzung der Vollgrafik in BASIC ===== ===== Nutzung der Vollgrafik in BASIC =====
  
-Für BASIC habe ich einen Treiber **GRAFP** geschrieben, der die im BASIC86 vorhandenen Befehle auf diese Hardware umsetzt, so dass vorhandene BASIC-Programme für die robotron-Grafik oder den Plotter auch mit dieser Grafik benutzt werden können. Er basiert auf dem robotron-Grafik-Treiber und unterstützt zusätzlich auch den [[z9001:plotter|]] als Grafikausgabegerät. Der Treiber ist bereits im aktuellen [[z9001:module:megamodul|]]-ROM enthalten!+Für BASIC habe ich einen Treiber **GRAFP** geschrieben, der die im BASIC86 vorhandenen Befehle auf diese Hardware umsetzt, so dass vorhandene BASIC-Programme für die robotron-Grafik oder den Plotter auch mit dieser Grafik benutzt werden können. Er basiert auf dem robotron-Grafik-Treiber und unterstützt zusätzlich auch den [[z9001:plotter|]] als Grafikausgabegerät. Der Treiber ist bereits im aktuellen [[z9001:module_sonstige:megamodul|]]-ROM enthalten!
  
 Zu beachten ist, dass diese Grafik eine höhere horizontale Auflösung besitzt, evtl. muss bei den Programmen ein SCALE-Faktor ergänzt werden, damit die volle Grafikauflösung zur Geltung kommt. Ebenfalls aufpassen muss man bei Textausgaben auf den Textbildschirm. Hier muss vor der Ausgabe mit PRINT o.ä. unbedingt mit SCREEN 0 der normale Textbildschirm zugeschaltet werden, ansonsten erscheinen statt der Buchstaben je 8 Pixel im Bild. Für Textausgabe im Grafikmodus gibt es aber noch den LABEL-Befehl. Gezeichnet wird mit den aktuellen Farben. Es kann also jederzeit mit INK, PAPER, BORDER eine andere Farbe gewählt werden. Zu beachten ist, dass diese Grafik eine höhere horizontale Auflösung besitzt, evtl. muss bei den Programmen ein SCALE-Faktor ergänzt werden, damit die volle Grafikauflösung zur Geltung kommt. Ebenfalls aufpassen muss man bei Textausgaben auf den Textbildschirm. Hier muss vor der Ausgabe mit PRINT o.ä. unbedingt mit SCREEN 0 der normale Textbildschirm zugeschaltet werden, ansonsten erscheinen statt der Buchstaben je 8 Pixel im Bild. Für Textausgabe im Grafikmodus gibt es aber noch den LABEL-Befehl. Gezeichnet wird mit den aktuellen Farben. Es kann also jederzeit mit INK, PAPER, BORDER eine andere Farbe gewählt werden.
Zeile 63: Zeile 63:
 ===== Hardware ===== ===== Hardware =====
  
-Die Vollgrafik benötigt nur 4 einfache Schaltkreise (D175, DL275, DS8282 o.ä., U6264) !+Die Vollgrafik benötigt nur 4 einfache Schaltkreise (D175, DL275, DS8282 o.ä., U6264)!
  
-{{z9001:grafp_sp_klein.jpg?300x214 }}Zum vorhandenen Bildwiederholspeicher (f. Textmodus) werden 8 weitere 1K-Bereiche parallel geschaltet. Diese 8 Bildwiederholspeicher BWSG 1..8 a 1K beginnen also alle auf Adresse EC00h und werden einzeln über Port 0B8h aktiviert:+{{:z9001:erweiterungen:krtgrafik:pixkrt_vp.jpg?300 |}} Anstelle des vorhandenen Bildwiederholspeicher (f. Textmodus) werden 8 1K-Bereiche parallel geschaltet. Diese 8 Bildwiederholspeicher BWSG 1..8 a 1K beginnen also alle auf Adresse EC00h und werden einzeln über Port 0B8h aktiviert:
  
 |OUT PortB8, 0|normaler Textmodus (wie nach Reset)| |OUT PortB8, 0|normaler Textmodus (wie nach Reset)|
Zeile 74: Zeile 74:
 |OUT PortB8, 0000 1111b|Vollgrafik an, Beschreiben BWS-G 8| |OUT PortB8, 0000 1111b|Vollgrafik an, Beschreiben BWS-G 8|
  
-Durch Bit4 von PortB8 wird die Vollgrafik ein- bzw. ausgeschaltet. Durch Bit0..3 von PortB8 werden die einzelnen Bildwiederholspeicher-Ebenen aktiviert. Das ist nur sinnvoll bei Bit4=1, da ansonsten die Vollgrafik ausgeschaltet ist und dann immer nur der normale Textmodus-Bildwiederholspeicher an der Adresse EC00h beschrieben wird.+Durch Bit4 von PortB8 wird die Vollgrafik ein- bzw. ausgeschaltet. Durch Bit0..3 von PortB8 werden die einzelnen Bildwiederholspeicher-Ebenen aktiviert. <del>Das ist nur sinnvoll bei Bit4=1, da ansonsten die Vollgrafik ausgeschaltet ist und dann immer nur der normale Textmodus-Bildwiederholspeicher an der Adresse EC00h beschrieben wird.</del>
  
 Die Videoausgabe im Textmodus erfolgt dadurch, dass ein Zeichen aus dem BWS gelesen wird, der Zeichensatz-ROM auf dieses Zeichen positioniert wird und dann 8 Bit aus dem Zeichensatz-ROM für die aktuelle Bild-Zeile ausgegeben werden. Die auszugebenden Pixel der nächsten 7 Bild-Zeilen folgen im Zeichensatz-ROM auf den nachfolgenden 7 Byte. Die Videoausgabe im Textmodus erfolgt dadurch, dass ein Zeichen aus dem BWS gelesen wird, der Zeichensatz-ROM auf dieses Zeichen positioniert wird und dann 8 Bit aus dem Zeichensatz-ROM für die aktuelle Bild-Zeile ausgegeben werden. Die auszugebenden Pixel der nächsten 7 Bild-Zeilen folgen im Zeichensatz-ROM auf den nachfolgenden 7 Byte.
 +Über Bit0..3 von PortB8 können 8 eigenständige Bildschirmseiten angesteuert werden.
  
 Die Videoausgabe im Grafikmodus erfolgt ähnlich, nur entfällt der Zeichensatz-ROM. Die Pixel für die erste auszugebende Bild-Zeile stammen direkt aus dem Zeichen aus BWS-G 1, die für die zweite Zeile aus BWS-G 2 usw. Die Videoausgabe im Grafikmodus erfolgt ähnlich, nur entfällt der Zeichensatz-ROM. Die Pixel für die erste auszugebende Bild-Zeile stammen direkt aus dem Zeichen aus BWS-G 1, die für die zweite Zeile aus BWS-G 2 usw.
Zeile 82: Zeile 83:
 Das Grafikbild wird also zeilenweise aufgebaut:\\ 1. Zeile = die ersten 40 Byte = 320 Pixel aus BWS-G 1. Die Pixel werden von links nach rechts von Bit7..Bit0 ausgegeben\\ 2. Zeile = die ersten 40 Byte aus BWS-G 2\\ ..\\ 8. Zeile = die ersten 40 Byte aus BWS-G 8\\ 9. Zeile = die nächsten 40 Byte aus BWS-G 1\\ 10.Zeile = die nächsten 40 Byte aus BWS-G 2 usw. Das Grafikbild wird also zeilenweise aufgebaut:\\ 1. Zeile = die ersten 40 Byte = 320 Pixel aus BWS-G 1. Die Pixel werden von links nach rechts von Bit7..Bit0 ausgegeben\\ 2. Zeile = die ersten 40 Byte aus BWS-G 2\\ ..\\ 8. Zeile = die ersten 40 Byte aus BWS-G 8\\ 9. Zeile = die nächsten 40 Byte aus BWS-G 1\\ 10.Zeile = die nächsten 40 Byte aus BWS-G 2 usw.
  
-Achtung: Da im Speicherbereich des BWS von EC00-EFFF auch die Adresstabelle der Gerätetreiber steht, wird der Z9001 bei einfachem Einschalten von PortB8, Bit4 abstürzen. Hier muss vorher der Bereich von EFC0-EFFF in alle BWSG1..8 kopiert werden, ehe eine Zeichenein- oder -ausgabe auf Kommandoebene erfolgen darf! Obiger Treiber für BASIC macht dies beim Initialisieren mit SCREEN 1.+Achtung: Da im Speicherbereich des BWS von EC00-EFFF auch die Adresstabelle der Gerätetreiber steht, wird der Z9001 bei einfachem Durchschalten von PortB8 Bit0..3 abstürzen. Hier muss vorher der Bereich von EFC0-EFFF in alle BWSG1..8 kopiert werden, ehe eine Zeichenein- oder -ausgabe auf Kommandoebene erfolgen darf! Obiger Treiber für BASIC macht dies beim Initialisieren mit SCREEN 1.
  
 +Aufbauhinweise stehen auf einer [[z9001:erweiterungen:krtgrafik:aufbau|Extraseite]].
 ===== Download ===== ===== Download =====
  
Zeile 89: Zeile 91:
   * {{:z9001:grafik-krt.zip|}} Software (BASIC-Treiber GRAFP, BASIC-Beispiele, CONST-Treiber CRT80P, CRT40P, Demos, Quellcode)   * {{:z9001:grafik-krt.zip|}} Software (BASIC-Treiber GRAFP, BASIC-Beispiele, CONST-Treiber CRT80P, CRT40P, Demos, Quellcode)
  
 +20.3.12: kleine Updates in den Treibern DRT80P, CRT40P, GRAFP, die die Farbnutzung betrafen. 
 +CRT80P hat jetzt anstelle des IBM-Zeichensatzes einen kompletten 4x8-Z9001-Zeichensatz.
 ===== Hinweise zu den Programmen ===== ===== Hinweise zu den Programmen =====
  
Zeile 238: Zeile 241:
 gibt es den Befehl LABEL. gibt es den Befehl LABEL.
 </code> </code>
 +
 +====== Hardwarefehler ======
 +
 +von **Klaus Junge**: Das [[z9001:cpm:64kmodul#iorq-Problem|M1-IORQ-Problem]] der 64K-RAM-Karte tritt auch hier auf. Ein Umbau der Dekodierung auf Grundplatine im Z9001/KC87 muss erfolgen!
 +
 +Verzögerung des M1-Signals:
 +
 +{{:z9001:erweiterungen:m1-iorq-verzoegerung.jpg?300|}}
 +
 +Eine Modifikation auf dem 64K-Modul kann dann entfallen, wirkt sich aber nicht nachteilig aus, wenn sie dort auch vorgenommen wurde.
 +
 +s.a. http://www.sax.de/~zander/z9001/tip/tipf.html
  • z9001/erweiterungen/krtgrafik.1279883768.txt.gz
  • Zuletzt geändert: 2010/07/22 22:00
  • (Externe Bearbeitung)