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:grafik [2014/07/30 07:51] – [Der Plotter] volkerpz9001:grafik [2022/10/28 11:57] (aktuell) – [Nutzung mit BASIC] volkerp
Zeile 3: Zeile 3:
 Der Z9001 ist im Standard-Zustand nicht vollgrafikfähig, da er lediglich Textmodus mit 40x24 bzw. 40x20 Zeichen bietet. Gleichwohl bietet das BASIC des Plotter-Moduls bzw. das im KC87.2x eingebaute BASIC86 jedoch Grafikbefehle. Allerdings sind dies nur Platzhalter in der Liste der verfügbaren BASIC-Befehle; ein vollständiger Code für diese Befehle muss außerhalb des BASIC als Treiber {{grafik.zip|}} hinzugeladen werden. Der Z9001 ist im Standard-Zustand nicht vollgrafikfähig, da er lediglich Textmodus mit 40x24 bzw. 40x20 Zeichen bietet. Gleichwohl bietet das BASIC des Plotter-Moduls bzw. das im KC87.2x eingebaute BASIC86 jedoch Grafikbefehle. Allerdings sind dies nur Platzhalter in der Liste der verfügbaren BASIC-Befehle; ein vollständiger Code für diese Befehle muss außerhalb des BASIC als Treiber {{grafik.zip|}} hinzugeladen werden.
  
-{{uhr_4tel_grafik.jpg?100 }} Solche Treiber gibt es von Robotron für **[[z9001:plotter|]]**, den bei U. Zander beschrieben **{{http://www.sax.de/~zander/z9001/module/pixgraf.html|Grafik-Zusatz}}** sowie von mir für den **unverbauten KC87** mit einer Auflösung von 40x24 "Pixeln" und 80x48 Pixeln (Viertel-Grafik, im Bild eine Analog-Uhr mit diesem Treiber). Neu hinzugekommen ist auch ein Treiber für die [[z9001:erweiterungen:krtgrafik|]].+{{uhr_4tel_grafik.jpg?100 }} Solche Treiber gibt es  
 +  * von Robotron für [[z9001:plotter|]],  
 +  für den Grafikzusatz http://www.sax.de/~zander/z9001/module/pixgraf.html 
 +  * von mir einen **Viertel-Grafik**-Treiber für den unverbauten KC87 mit einer Auflösung von 80x48 Pixeln (, im Bild eine Analog-Uhr mit diesem Treiber).  
 +  * und einen Treiber für die [[z9001:erweiterungen:krtgrafik|]].
  
    
Zeile 82: Zeile 86:
 Folgende Grafikbefehle gibt es im BASIC:\\ PSET, LINE, CIRCLE, PAINT, LABEL, SIZE, ZERO, HOME, GCLS, SCALE, SCREEN, POINT, XPOS, YPOS. Folgende Grafikbefehle gibt es im BASIC:\\ PSET, LINE, CIRCLE, PAINT, LABEL, SIZE, ZERO, HOME, GCLS, SCALE, SCREEN, POINT, XPOS, YPOS.
  
-Im Gegensatz zur Plotter-Anleitung können auch  XPOS, YPOS und (wenig sinnvoll) PAINT und POINT genutzt werden: +Im Erweiterung zur Plotter-Anleitung können auch  XPOS, YPOS und (wenig sinnvoll) PAINT und POINT genutzt werden: 
  
   * **XPOS** liefert als Rückgabeparameter die x-Koordinate des letzten erreichten Punktes,    * **XPOS** liefert als Rückgabeparameter die x-Koordinate des letzten erreichten Punktes, 
   * **YPOS** die entsprechende y-Koordinate.    * **YPOS** die entsprechende y-Koordinate. 
-  * **POINT(x,y)** liefert als Rückgabeparameter 0, wenn der Abfragepunkt x,y die Hintergrundfarbe, und 1, wenn der Abfragepunkt die Vordergrundfarbe hat.  +  * **POINT(x,y)** liefert als Rückgabeparameter 0, wenn der Abfragepunkt x,y die Hintergrundfarbe, und 1, wenn der Abfragepunkt die Vordergrundfarbe hat. Im Plottertreiber liefert POINT immer 0.  
-  * **PAINT (x,y)[,c[,d]]** ist undokumentiert, und weder im Plotter- noch im Vollgrafiktreiber realisiert. Im Plottertreiber ist PAINT im physischen Treiber mit einem Return kurzgeschlossen, POINT liefert immer 0.  +  * **PAINT (x,y)[,c[,d]]** ist undokumentiert, und weder im Plotter- noch im Vollgrafiktreiber realisiert. Im Plottertreiber ist PAINT im physischen Treiber mit einem Return kurzgeschlossen.  
-  * **LINE** akzeptiert neben dem Parameter B auch den Parameter BF.+  * **LINE** akzeptiert neben dem Parameter B auch den Parameter BF (box filled). Das ist jedoch nicht implementiert.
  
-Für die gemeinsame Programmierung von Vollgrafik und Plotter ist der **unterschiedlich große Zeichenbereich** zu beachten: Plotter: 2550x1800, Vollgrafik: 256x192. Zur Initialisierung beider Geräte dient der Befehl **SCREEN**: SCREEN 0,0 - Standardbildschirm, SCREEN 0,1 - Plotter (am E/A-Port) aktivieren, SCREEN 1 - Vollgrafik. Ein gleichzeitiger paralleler Betrieb von Vollgrafik und Plotter funktioniert nicht; es kann aber wechselweise auf beide Geräte (mit entsprechender Skalierung) derselbe Zeichenvorgang wiederholt werden.+Für die gemeinsame Programmierung von Vollgrafik und Plotter ist der **unterschiedlich große Zeichenbereich** zu beachten:  
 +  * Plotter: 2550x1800,  
 +  * Vollgrafik: 256x192.  
 +Zur Initialisierung beider Geräte dient der Befehl **SCREEN**:  
 +  * SCREEN 0,0 - Standardbildschirm,  
 +  * SCREEN 0,1 - Plotter (am E/A-Port) aktivieren,  
 +  * SCREEN 1 - Vollgrafik.  
 +Ein gleichzeitiger paralleler Betrieb von Vollgrafik und Plotter funktioniert nicht; es kann aber wechselweise auf beide Geräte (mit entsprechender Skalierung) derselbe Zeichenvorgang wiederholt werden.
  
 Die BASIC-Befehle sind bezogen auf die Vollgrafik in z9_gbas.pdf ({{http://www.sax.de/~zander/z9001/module/pixgraf.html|Grafik-Zusatz}} bei U. Zander beschrieben. Für die Plotter stehen die Befehle in den zugehörigen Handbüchern {{xy4131.pdf}} bzw. {{xy4140.pdf}} (s.a. [[z9001:plotter|]]). Die BASIC-Befehle sind bezogen auf die Vollgrafik in z9_gbas.pdf ({{http://www.sax.de/~zander/z9001/module/pixgraf.html|Grafik-Zusatz}} bei U. Zander beschrieben. Für die Plotter stehen die Befehle in den zugehörigen Handbüchern {{xy4131.pdf}} bzw. {{xy4140.pdf}} (s.a. [[z9001:plotter|]]).
  
-Mai 2009: Vermutlich stand das MSX-BASIC Vorlage für die Grafikbefehle. Auch die Auflösung von 256x192 Pixeln entspricht dem MSX-1-Standard. Die Befehle sind offenbar genauso wie im MSX-Standard definiert. (Quelle: MSX2 TECHNICAL HANDBOOK). In der  Ergänzung zur Bedienungsanleitung des KC87.2x {{:z9001:anleitung_kc87_2x.pdf|}} steht dazu: "Die Syntax und Semantik der Grafik-Anweisungen entsprechen weitgehend dem internationalen Standard und sind im Detail den Bedienungsanleitungen der grafischen Ausgabegeräte zu entnehmen."+Mai 2009: Vermutlich stand das MSX-BASIC Vorlage für die Grafikbefehle. Auch die Auflösung von 256x192 Pixeln entspricht dem MSX-1-Standard. Die Befehle sind offenbar genauso wie im MSX-Standard definiert. (Quelle: MSX2 TECHNICAL HANDBOOK). In der  Ergänzung zur Bedienungsanleitung des KC87.2x {{:z9001:anleitung_kc87_2x.pdf|}} steht dazu: "//Die Syntax und Semantik der Grafik-Anweisungen entsprechen weitgehend dem internationalen Standard// und sind im Detail den Bedienungsanleitungen der grafischen Ausgabegeräte zu entnehmen."\ Der MSX1-Standard beschreibt folgende Befehle:
  
   * **PSET %%{(%%X,Y) | STEP(X,Y)}[, <colour>[, <logical operation>]]** Draws the dot in the coordinate specified by (X,Y) on the graphic screen.   * **PSET %%{(%%X,Y) | STEP(X,Y)}[, <colour>[, <logical operation>]]** Draws the dot in the coordinate specified by (X,Y) on the graphic screen.
  • z9001/grafik.1406706662.txt.gz
  • Zuletzt geändert: 2014/07/30 07:51
  • von volkerp