Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
z9001:erweiterungen:krtgrafik [2010/07/23 11:15] – Page moved from z9001:krtgrafik to z9001:erweiterungen:krtgrafik volkerp | z9001: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, | + | Für BASIC habe ich einen Treiber **GRAFP** geschrieben, |
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. | ||
- | {{grafp_test1.jpg }} Nebenstehendes Bild ist mit einer aktuellen Version des JKCEMU entstanden. Das zugehörige BASIC-Programm zeigt die Nutzung der BASIC-Befehle für Grafik und Farbe. | + | {{z9001:grafp_test1.jpg }} Nebenstehendes Bild ist mit einer aktuellen Version des JKCEMU entstanden. Das zugehörige BASIC-Programm zeigt die Nutzung der BASIC-Befehle für Grafik und Farbe. |
< | < | ||
Zeile 52: | Zeile 52: | ||
Weiterhin gibt es von mir den analog arbeitenden Treiber **CRT40P**, der für 40 Zeichen gedacht ist und damit die gewohnte Zeichenbreite von 8 Pixeln bietet. | Weiterhin gibt es von mir den analog arbeitenden Treiber **CRT40P**, der für 40 Zeichen gedacht ist und damit die gewohnte Zeichenbreite von 8 Pixeln bietet. | ||
- | |{{grafpt_Bild7.gif}}|{{grafpt_Bild8.gif}}| | + | |{{z9001:grafpt_Bild7.gif}}|{{z9001:grafpt_Bild8.gif}}| |
|Anzeige der Treiberzuordnung nach Start von CRT80|Start von BASIC mit 80 Spalten| | |Anzeige der Treiberzuordnung nach Start von CRT80|Start von BASIC mit 80 Spalten| | ||
- | |{{grafpt_Bild2.gif}}|{{grafpt_Bild12.gif}}| | + | |{{z9001:grafpt_Bild2.gif}}|{{z9001:grafpt_Bild12.gif}}| |
|Grafik und Text sind gleichzeitig darstellbar (es muss CRT80P und GRAFP geladen sein!)|Cool: | |Grafik und Text sind gleichzeitig darstellbar (es muss CRT80P und GRAFP geladen sein!)|Cool: | ||
- | |{{farbe2.gif}}|{{crt40-zg.gif}}| | + | |{{z9001:farbe2.gif}}|{{z9001:crt40-zg.gif}}| |
|Farbe funktioniert wie gewohnt|Es gibt auch einen 40-Zeichen-Treiber **CRT40P**. Es können Zeichensätze nachgeladen werden, wie die Demo **SWITCH_ZG** zeigt.| | |Farbe funktioniert wie gewohnt|Es gibt auch einen 40-Zeichen-Treiber **CRT40P**. Es können Zeichensätze nachgeladen werden, wie die Demo **SWITCH_ZG** zeigt.| | ||
- | |{{demo3-40-zg1.gif}}|{{demo3-80.gif}}| | + | |{{z9001:demo3-40-zg1.gif}}|{{z9001:demo3-80.gif}}| |
|Ein BASIC-Programm in ungewohntem Zeichensatz...|... und auch in 80 Zeichen mit CRT80P| | |Ein BASIC-Programm in ungewohntem Zeichensatz...|... und auch in 80 Zeichen mit CRT80P| | ||
===== 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)! |
- | {{grafp_sp_klein.jpg?300x214 | + | {{: |
|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. |
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: | Das Grafikbild wird also zeilenweise aufgebaut: | ||
- | Achtung: Da im Speicherbereich des BWS von EC00-EFFF auch die Adresstabelle der Gerätetreiber steht, wird der Z9001 bei einfachem | + | Achtung: Da im Speicherbereich des BWS von EC00-EFFF auch die Adresstabelle der Gerätetreiber steht, wird der Z9001 bei einfachem |
+ | Aufbauhinweise stehen auf einer [[z9001: | ||
===== Download ===== | ===== Download ===== | ||
Zeile 89: | Zeile 91: | ||
* {{: | * {{: | ||
+ | 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. | ||
</ | </ | ||
+ | |||
+ | ====== Hardwarefehler ====== | ||
+ | |||
+ | von **Klaus Junge**: Das [[z9001: | ||
+ | |||
+ | Verzögerung des M1-Signals: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Eine Modifikation auf dem 64K-Modul kann dann entfallen, wirkt sich aber nicht nachteilig aus, wenn sie dort auch vorgenommen wurde. | ||
+ | |||
+ | s.a. http:// |