Das Schneider CPC Systembuch

Die Abteilungen des Betriebssystems

Die Grafik-VDU

Die Koordinaten

Bei den Koordinaten-Angaben sind auf dieser Ebene drei Möglichkeiten zu unterscheiden:

Adressierungsarten der Z80: Absolutabsolut (zum Origin)
• Adressierungsarten der Z80: Relativrelativ (zur letzten Position)
• und Standard-Koordinaten (zur linken unteren Ecke des Bildschirms)

Gemeinsam ist bei allen Systemen, dass sie mit Integer-Werten von -32768 bis +32767 arbeiten. Der Bildschirm ist unabhängig vom momentan gewählten Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 0
Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 1
Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 2
Modus
immer 400 Koordinaten-Einheiten hoch und 640 Koordinaten-Einheiten breit.

Daraus ergibt sich, dass immer zwei Y-Koordinaten auf diee selbe Rasterzeile des Bildschirms zugreifen. Je nach Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 0
Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 1
Die 3 verschiedenen Betriebsarten der PIO 8255: Modus 2
Modus
entsprechen in X-Richtung eine, 2 oder 4 Koordinaten-Einheiten dem selben Pixel.

Standard-Koordinaten werden benutzt, um das Grafikfenster zu definieren. Dabei kann man die linke und die rechte Fenstergrenze nicht beliebig fein wählen. Das geht leider nur in Achter-Schritten. Grund dafür ist der physikalische Bildschirm-Aufbau, der aber erst beim Screen-Pack erläutert wird.

Dabei wird die linke Fenstergrenze immer Modulo 8 herabgesetzt, also nach links ausgeweitet und die rechte Fenstergrenze Modulo 8 + 7 nach rechts ausgeweitet:

ORIGIN 0,0,13,563,399,0
 
links  =  13 - ( 13 Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 2:
Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 1:
Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 0:
mod
8) = 8*( 13 \ 8) = 8 rechts = 563 - (563 Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 2:
Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 1:
Die Kodierung der Tintennummern in den Bildschirm-Bytes: Mode 0:
mod
8) + 7 = 8*(563 \ 8) + 7 = 560+7 = 567

Aber auch für die Ober- und Untergrenze gilt ähnliches, weil hier immer zwei Y-Koordinaten einer Rasterzeile auf dem Monitor entsprechen:

Die Untergrenze wird zur nächsten geraden Zahl abgerundet (Modulo 2) und die Obergrenze wird zur nächsten ungeraden Zahl aufgerundet (Modulo 2 + 1).

Valid HTML   Valid CSS