In den folgenden Grafiken ist der Zusammenhang zwischen einem Datentypen: Bytes Datenbreite: BytesByte und den Tintennummern der darin enthaltenen Pixel dargestellt. Der obere Balken symbolisiert die dargestellten Pixel, der untere Balken jeweils ein Datentypen: Bytes Datenbreite: BytesByte mit 8 Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bits. Die Ziffergruppen 'in den Pixeln' gibt dabei jeweils an, wie welche Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bits des Datentypen: Bytes Datenbreite: BytesBytes gruppiert werden müssen, um die Tintennummer dieses Pixels zu bestimmen.
+---+---+---+---+---+---+---+---+
! 7 ! 6 ! 5 ! 4 ! 3 ! 2 ! 1 ! 0 ! <-- 8 Punkte im Bildschirm
+---+---+---+---+---+---+---+---+
^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | |
| | | | | | | |
+---+---+---+---+---+---+---+---+
! 7 ! 6 ! 5 ! 4 ! 3 ! 2 ! 1 ! 0 ! <-- Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bits 0...7 eines Datentypen: Bytes Datenbreite: BytesBytes
+---+---+---+---+---+---+---+---+
+-------+-------+-------+-------+
! 37 ! 26 ! 15 ! 04 ! <-- 4 Punkte im Bildschirm
+-------+-------+-------+-------+
^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | |
+---+---+---+---+---+---+---+
| | | | | | | |
| | | | | | | |
+---+---+---+---+---+---+---+---+
! 7 ! 6 ! 5 ! 4 ! 3 ! 2 ! 1 ! 0 ! <-- Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bits 0...7 eines Datentypen: Bytes Datenbreite: BytesBytes
+---+---+---+---+---+---+---+---+
+---------------+---------------+
! 1537 ! 0426 ! <-- 2 Punkte im Bildschirm
+---------------+---------------+
^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | |
+---+---+---+---+---+---+---+
| | | | | | | |
| | | | | | | |
+---+---+---+---+---+---+---+---+
! 7 ! 6 ! 5 ! 4 ! 3 ! 2 ! 1 ! 0 ! <-- Datenbreite: Bits Port B - Input: &F5xx: Bit 0: Port B - Input: &F5xx: Bit 4: Port B - Input: &F5xx: Bit 5: Port B - Input: &F5xx: Bit 6: Port B - Input: &F5xx: Bit 7: Port C - Output: &F6xx: Bit 4: Port C - Output: &F6xx: Bit 5:Bits 0...7 eines Datentypen: Bytes Datenbreite: BytesBytes
+---+---+---+---+---+---+---+---+
Da diese Zuordnungen auch für Einleitung: Die Grafikdie Grafik- und Textroutinen nur schwer zu verdauen sind, benutzt auch das Betriebssystem Tabellen, mit denen es sich das Leben leichter macht.
Eine davon enthält Datentypen: Bytes Datenbreite: BytesBytes, die immer ein Pixel aus einem Datentypen: Bytes Datenbreite: BytesByte herausfiltern:
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:Mode 2: Pixel 7 -> Datentypen: Bytes Datenbreite: BytesByte: &X10000000 = &80 = 128 (links)
Pixel 6 -> Datentypen: Bytes Datenbreite: BytesByte: &X01000000 = &40 = 64
Pixel 5 -> Datentypen: Bytes Datenbreite: BytesByte: &X00100000 = &20 = 32
Pixel 4 -> Datentypen: Bytes Datenbreite: BytesByte: &X00010000 = &10 = 16
Pixel 3 -> Datentypen: Bytes Datenbreite: BytesByte: &X00001000 = &08 = 8
Pixel 2 -> Datentypen: Bytes Datenbreite: BytesByte: &X00000100 = &04 = 4
Pixel 1 -> Datentypen: Bytes Datenbreite: BytesByte: &X00000010 = &02 = 2
Pixel 0 -> Datentypen: Bytes Datenbreite: BytesByte: &X00000001 = &01 = 1 (rechts)
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:Mode 1: Pixel 3 -> Datentypen: Bytes Datenbreite: BytesByte: &X10001000 = &88 = 136 (links)
Pixel 2 -> Datentypen: Bytes Datenbreite: BytesByte: &X01000100 = &44 = 68
Pixel 1 -> Datentypen: Bytes Datenbreite: BytesByte: &X00100010 = &22 = 34
Pixel 0 -> Datentypen: Bytes Datenbreite: BytesByte: &X00010001 = &11 = 17 (rechts)
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:Mode 2: Pixel 1 -> Datentypen: Bytes Datenbreite: BytesByte: &X10101010 = &AA = 170 (links)
Pixel 0 -> Datentypen: Bytes Datenbreite: BytesByte: &X01010101 = &55 = 85 (rechts)
Bei Jeder Zuordnung von Die Bildausgabe: Tinten und FarbenTinten zu Vorder- oder Hintergrund für die Text- und Grafik-Ausgabe wird ein Datentypen: Bytes Datenbreite: BytesByte berechnet, das vollständig mit dieser Die Bildausgabe: Tinten und FarbenTinte 'eingefärbt' ist:
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:Mode 2: Die Bildausgabe: Tinten und FarbenTinte 00 -> &X00000000 = &00 = 0
Die Bildausgabe: Tinten und FarbenTinte 01 -> &X11111111 = &FF = 255
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:Mode 1: Die Bildausgabe: Tinten und FarbenTinte 00 -> &X00000000 = &00 = 0
Die Bildausgabe: Tinten und FarbenTinte 01 -> &X11110000 = &Der Zeichensatz des Schneider CPC: &F0 = 240F0 = 240
Die Bildausgabe: Tinten und FarbenTinte 02 -> &X00001111 = &0F = 15
Die Bildausgabe: Tinten und FarbenTinte 03 -> &X11111111 = &FF = 255
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:Mode 0: Die Bildausgabe: Tinten und FarbenTinte 00 -> &X00000000 = &00 = 0
Die Bildausgabe: Tinten und FarbenTinte 01 -> &X11000000 = &Der Zeichensatz des Schneider CPC: &C0 = 192C0 = 192
Die Bildausgabe: Tinten und FarbenTinte 02 -> &X00001100 = &0C = 12
Die Bildausgabe: Tinten und FarbenTinte 03 -> &X11001100 = &CC = 204
Die Bildausgabe: Tinten und FarbenTinte 04 -> &X00110000 = &30 = 48
Die Bildausgabe: Tinten und FarbenTinte 05 -> &X11110000 = &Der Zeichensatz des Schneider CPC: &F0 = 240F0 = 240
Die Bildausgabe: Tinten und FarbenTinte 06 -> &X00111100 = &3C = 60
Die Bildausgabe: Tinten und FarbenTinte 07 -> &X11111100 = &FC = 252
Die Bildausgabe: Tinten und FarbenTinte 08 -> &X00000011 = &03 = 3
Die Bildausgabe: Tinten und FarbenTinte 09 -> &X11000011 = &C3 = 195
Die Bildausgabe: Tinten und FarbenTinte 10 -> &X00001111 = &0F = 15
Die Bildausgabe: Tinten und FarbenTinte 11 -> &X11001111 = &CF = 207
Die Bildausgabe: Tinten und FarbenTinte 12 -> &X00110011 = &33 = 51
Die Bildausgabe: Tinten und FarbenTinte 13 -> &X11110011 = &F3 = 243
Die Bildausgabe: Tinten und FarbenTinte 14 -> &X00111111 = &3F = 63
Die Bildausgabe: Tinten und FarbenTinte 15 -> &X11111111 = &FF = 255
|