Color Graphics Adapter — Änderungen 5852 → 5853

Zeile 27: Zeile 27:
 
== I/O Ports ==
 
== I/O Ports ==
 
Die I/O Ports 0x3D0 bis 0x3DC sind für den CGA reserviert. Die Ports sind jeweils ein Byte groß.
 
Die I/O Ports 0x3D0 bis 0x3DC sind für den CGA reserviert. Die Ports sind jeweils ein Byte groß.
−
=== Bewegen des Cursors ===
+
=== Interne Register ===
−
Der Cursor wird über 2 der Register des Motorola 6845 CRT Controllers, der im ursprünglichen CGA verbaut war, angesteuert. Diese Register werden über die Ports 0x3D4 und 0x3D5 angesprochen. Dies ist im Artikel [[Textausgabe#Cursor|Textausgabe]] genauer beschrieben.
+
Der Motorola 6845 CRT Controllers hat interne Register, die verschiedene Aspekte der Darstellung kontrollieren. Sie werden über die Ports 0x3D4 und 0x3D5 angesteuert. Das Laden eines Registers erfolgt, indem der Index des Registers an den Port 0x3D4 geschrieben wird, und dann die Daten nach Port 0x3D5 geschrieben werden.
 +
 
 +
Die folgende Tabelle listet alle zur Verfügung stehenden Register auf:
 +
 
 +
{| {{Prettytable}}
 +
!Index!!Register Typ!!Einheit
 +
|-
 +
|0||Horizontal Total||Character
 +
|-
 +
|1||Horizontal Displayed||Character
 +
|-
 +
|2||Horizontal Sync Position||Character
 +
|-
 +
|3||Horizontal Sync Width||Character
 +
|-
 +
|4||Vertical Total||Character Row
 +
|-
 +
|5||Vertical Total Adjust||Scan Line
 +
|-
 +
|6||Vertical Displayed||Character Row
 +
|-
 +
|7||Vertical Sync Position||Character Row
 +
|-
 +
|8||Interlace Mode||-
 +
|-
 +
|9||Maximum Scan Line Address||Scan Line
 +
|-
 +
|10||Cursor Start||Scan Line
 +
|-
 +
|11||Cursor End||Scan Line
 +
|-
 +
|12||Start Address (High Byte)
 +
|rowspan="2"|Offset
 +
|-
 +
|13||Start Address (Low Byte)
 +
|-
 +
|14||Cursor Address (High Byte)
 +
|rowspan="2"|Offset
 +
|-
 +
|15||Cursor Address (Low Byte)
 +
|-
 +
|16||Light Pen (High Byte)
 +
|rowspan="2"|?
 +
|-
 +
|17||Light Pen (Low Byte)
 +
|-
 +
 
 
=== 16 Hintergrundfarben ===
 
=== 16 Hintergrundfarben ===
 
Um 16 Hintergrundfarben zu nutzen, muss das Bit 5 im Mode-Select Register (Port 0x3D8) gelöscht werden. Dadurch bedeutet das Bit 7 im Attribut-Feld nicht mehr, dass das Zeichen blinken soll. Das Feld für die Hintergrundfarbe erweitert sich dann auf die Bits 4 bis 7, und es können somit 16 Hintergrundfarben dargestellt werden. Diese Farben stammen aus der selben Palette wie die Vordergrundfarben.
 
Um 16 Hintergrundfarben zu nutzen, muss das Bit 5 im Mode-Select Register (Port 0x3D8) gelöscht werden. Dadurch bedeutet das Bit 7 im Attribut-Feld nicht mehr, dass das Zeichen blinken soll. Das Feld für die Hintergrundfarbe erweitert sich dann auf die Bits 4 bis 7, und es können somit 16 Hintergrundfarben dargestellt werden. Diese Farben stammen aus der selben Palette wie die Vordergrundfarben.