Hires Bitmap-Modus
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 4 (Multicolor) gelöscht sein.
VIC-II Kontrollregister im Hires Bitmap-Modus | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Adresse hex. | Adresse dez. | 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öglichen 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
- Hires Bitmap-Mode bei codebase64
- Bitmap mode on the C64 bei cmb8bit
- Eine kleine Einführung in Grafik : Hires Grafik mit dem C64 bei cbmhardware.de
- VIC-II: Grafikmodes – BITMAP (Hi-Res) bei Retro-Programming (Webarchiv)
Bilder
- Siehe Hires