Hires Bitmap-Modus

Aus C64-Wiki
Zur Navigation springenZur Suche springen

Der Hires Bitmap-Modus ist ein Standard Grafikmodus des Commodore 64. Dieser Bitmap-Modus kann Bilder mit einer Auflösung von bis zu 320 x 200 Pixeln in 16 Farben darstellen. Dabei gibt es allerdings die Einschränkung, dass nur 2 Farben pro Kachel möglich sind.

In deutschsprachigen Veröffentlichungen wird er auch mit "Hires" oder "Hires Grafik" bezeichnet.

Einschalten[Bearbeiten | Quelltext bearbeiten]

Im Kontrollregister 1 ($D011) muss Bit 5 (Bitmap <=> Text) gesetzt und Bit 6 (Erweiterter Hintergrundfarbenmodus) gelöscht sein. Im Kontrollregister 2 ($D016) muss Bit 5 (Multicolor) gelöscht sein.

VIC-II Kontrollregister im Hires Bitmap-Modus
Addresse hex. Addresse dec. Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
$D011 53265 0 1
$D016 53270 - - - 0

Eigenschaften[Bearbeiten | Quelltext bearbeiten]

In diesem Grafikmodus werden Bilder oder Zeichnungen dargestellt. Ein Bild im Hires Bitmap-Modus besteht aus einer Bitmap mit maximal 320 x 200 Pixeln und dem Bildschirmspeicher als Farbspeicher mit einer Größe von 40 x 25 = 1000 Bytes (ca. 1KB).

Die Speicherbelegung ist im Artikel Bitmap-Modus erklärt.

Bitmap und Farben[Bearbeiten | Quelltext bearbeiten]

Die Bitmap belegt einen Speicherbereich von 8000 Byte, also fast 8 KB. Jedes Pixel wird durch ein Bit repräsentiert und kann einzeln gesetzt bzw. gelöscht werden. Jede 8x8 Pixel große Kachel kann von den 16 mögllichen Farben zwei verschiedene enthalten. Gesetzte Bits werden in der Vordergrundfarbe, gelöschte Bits in der Hintergrundfarbe angezeigt. Für jedes Byte im Bildschirmspeicher bestimmt das niederwertige Nibble (Bits 0-3) die Hintergrundfarbe und das höherwertige Nibble (Bits 4-7) die Vordergrundfarbe.

Der Unterschied zwischen Vorder- und Hintergrundfarbe wird bei der Darstellung von Sprites und einer Grafik im Hires Bitmap-Modus bedeutsam, siehe Sprite/Hintergrund-Priorität.

Monochrome Grafik[Bearbeiten | Quelltext bearbeiten]

Besonders gut ist dieser Modus für monochrome Grafik geeignet. Dabei ist nur die Bitmap relevant, die ohne Farbinformation gespeichert werden kann. So belegt ein Bild nur 32 oder 33 Blöcke auf der Diskette, je nachdem ob 8000 oder 8192 Bytes (8K) gespeichert werden. Die Farben sind nur für die Anzeige der Hires-Grafik nötig. Dazu wird nach Laden der Bitmap jedes Byte des Bildschirmspeichers mit dem gleichen Wert gefüllt, z.B. 15 = $0F für Schwarz auf Hellgrau.

Programmier-Beispiele[Bearbeiten | Quelltext bearbeiten]

BASIC[Bearbeiten | Quelltext bearbeiten]

Siehe Beispiel BASIC V2 im Artikel Bitmap.

Assembler[Bearbeiten | Quelltext bearbeiten]

Supergrafik Graphik-Paket
c824  EA          NOP         ;keine Blockade
c825  AD 11 D0    LDA $D011    
c828  8D 1E CB    STA $CB1E   
c82b  AD 18 D0    LDA $D018
c82e  8D 1F CB    STA $CB1F   ;alte Inhalte retten
c831  A9 3B       LDA #$3B    ;%00111011
c833  8D 11 D0    STA $D011   ;Bitmap-Modus ein
c836  A9 18       LDA #$18    ;%00011000
c838  8D 18 D0    STA $D018   ;nach $2000
c83b  A9 60       LDA #$60    ;Code für RTS
c83d  8D 24 C8    STA $C824   ;Routine blockieren
c840  60          RTS
---------------------------
c841  AD 1E CB    LDA $CB1E   
c844  8D 11 D0    STA $D011
c847  AD 1F CB    LDA $CB1F
c84a  8D 18 D0    STA $D018   ;alte Inhalte zurückholen
c84d  A9 EA       LDA #$EA    ;Code für NOP
c84f  8D 24 C8    STA $C824   ;Blockade aufheben
c852  4C 44 E5    JMP $E544   ;Bildschirm löschen
---------------------------

Beispielbilder[Bearbeiten | Quelltext bearbeiten]

Middle Earth Analyse


Weblinks[Bearbeiten | Quelltext bearbeiten]

Programmierung und Dokumentation

Bilder