Wie aendert man denn mit Assembler eigentlich die Hintergrundfarbe des VC20? Ich weiss nur das jenes Register fuer die Hintergrundfarbe bei 900f liegt.
Hallo Besucher, der Thread wurde 3k mal aufgerufen und enthält 8 Antworten
letzter Beitrag von LordNikon am
VC20: Bildschirm Hintergrundfarbe
- LordNikon
- Erledigt
-
-
Hallo Lord Nikon,
$900f ist das Register sowohl für Hintergrund, als auch Rahmenfarbe. Zusätzlich kann man mit einem Bit den Hintergrund auf einen Schlag revers schalten.
Das paßt alles in ein Register, da der VC20 grundsätzlich nur 8 Farben darstellen kann, mit Ausnahme des Hintergrunds, da, und nur da, sind es 16.
Das sieht dann so aus:
Bit 4-7: Hintergrundfarbe
Bit 3: Revers
Bit 2-0: Randfarbe
Die Möglichkeiten aus einzelnen Bits ein Byte zu basteln sind Dir als Democoder sicher hinreichend bekannt. Ansonsten frag ruhig noch malbeste Grüße
Willcox
-
Hihi, "Democoder" , ich nicht... oder besser noch nicht Also wenn ich jetzt nur die Rahmenfarbe aendern will schreib ich folgendes:
lda #%11100000
sta $900foder nicht?
-
... eher nicht.
lda $900f (alten Inhalt holen)
and #%00001111 (Bits 0-3 beibehalten)
ora #%xxxx0000 (Hintergrundfarbe neu setzen
sta $900f(Nach der Beschreibung von Willcox)
Franz
-
Zitat
Original von Willcox
Hallo Lord Nikon,$900f ist das Register sowohl für Hintergrund, als auch Rahmenfarbe. Zusätzlich kann man mit einem Bit den Hintergrund auf einen Schlag revers schalten.
Das paßt alles in ein Register, da der VC20 grundsätzlich nur 8 Farben darstellen kann, mit Ausnahme des Hintergrunds, da, und nur da, sind es 16.
Das sieht dann so aus:
Bit 4-7: Hintergrundfarbe
Bit 3: Revers
Bit 2-0: Randfarbe
Die Möglichkeiten aus einzelnen Bits ein Byte zu basteln sind Dir als Democoder sicher hinreichend bekannt. Ansonsten frag ruhig noch malbeste Grüße
Willcox
Tja, das ist zwar richtig, aber mit einen kleinen Schönheitsfehler!
Bit 3 des Register 15 ($900F) ist das Bit für den Extended Color Modus. Man sollte also beim Verändern der Rahmen- oder Hintergrundfarbe dieses Bit mit berücksichtigen.
In diesem Modus wird dann die 8*8-Matrix des Zeichens mit der Multicolorfarbe verknüpft. Und die Multicolorfarbe findet man im Register 14 (900E), Bit 4 - 7. Auch hier mit dem Inhalt des gesamten Registers verknüpfen, weil die Bits 0 - 3 für andere Zwecke benötigt werden.
Leider ist in vielen Büchern die Registerbeschreibung nicht so sehr ausführlich, wie wir sie heute gewohnt sind.
Im 64'er Sonderheft 3/86, welches u. a. auch für den VC-20 ist, findet man auf Seite 168 dazu ein hübsches Programm.
-
Eigentlich habe ich befürchtet, daß Kamerad Nikons Frage in diese Richtung geht.
Ein junger Mann am Anfang eines weiten Weges, muß noch so viel lernen.Ich auch: Habe die Registerbelegung blind vertrauend aus einem Hofacker-Buch entnommen und wurde nun von Cbmwarrior fürsorglich darauf hingewiesen, daß das Revers-Bit nicht das Revers-Bit ist, sondern man damit den Multicolor-Modus steuert.
*schäm*
Willcox
-
Zitat
Original von Willcox
Eigentlich habe ich befürchtet, daß Kamerad Nikons Frage in diese Richtung geht.
Ein junger Mann am Anfang eines weiten Weges, muß noch so viel lernen.Ich auch: Habe die Registerbelegung blind vertrauend aus einem Hofacker-Buch entnommen und wurde nun von Cbmwarrior fürsorglich darauf hingewiesen, daß das Revers-Bit nicht das Revers-Bit ist, sondern man damit den Multicolor-Modus steuert.
*schäm*
Willcox
Tja, lieber Willcox, bitte erst lesen, bevor man antwortet: Ich habe gesagt, das das angebliche Revers-Bit für den Extended Color Modus ist und nicht für den Multicolor-Modus!!
Den Multicolor-Modus setzt man am VC-20 nicht über den VIC, sondern für jedes Zeichen einzeln über Bit 3 im Farb-RAM. Und das Farb-RAM findet man je nach Speicherkonfiguration entweder bei $9600 in der Grundversion oder bei +3 KB, wenn ab BLK 1 ($2000-4000) RAM ist (also die ersten 8 KB) dann ab $9400.
-
Ich nehme alles zurück und behaupte das Gegenteil
-
Hey danke erstmal fuer die vielen Infos. Mal sehen, da koennte ich ja gleich loslegen und mal ein paar Rasterbars machen