Farbe und SOUND


Die Aufteilung des C16-Bildschirms

Obwohl es sich beim C16 um einen Einsteigercomputer handelte, kann er mit Farben umgehen. Und zwar kann er bis zu 128 Farben gleichzeitig am Bildschirm anzeigen. Das war mehr als fast alle anderen Homecomputer. (Sinclair ZX81: Max. 2, Sinclair Spectrum: Max. 4, Commodore C64: Max. 16, Amstrad-Schneider CPC: Max. 27, Atari 600/800XL: Max. 128.) Ihr PC hat keine Probleme, Tausende von Farben gleichzeitig darzustellen.

Die Darstellung von Farben ist nicht so etwas Zentrales für die Kunst des Programmierens und sie funktioniert überall, in jedem Programmiersystem anders, deshalb wird sie hier nicht so ausführlich erklärt.

Man muss unterscheiden, welchen Bereich des Bildschirms man ansprechen möchte:

Von allen drei Bereichen wird die momentane Farbe in jeweils einem Farbspeicher festgehalten. Es gibt also den Hintergrund-Farbspeicher (Nr. 0), den Vordergrund(farb)-Speicher (Nr. 1) und den Rand-Speicher (Nr. 4). (Zusätzlich gibt es noch zwei weitere Speicher, die s.g. Multicolor-Speicher Nr. 2 und 3.)

Die Farben und der Befehl COLOR

Der Befehl COLOR (engl. "Farbe") dient dazu, den Inhalt der Farbspeicher zu ändern. Beim Rand funktioniert das am einfachsten und wir können das gleich gefahrlos auf der Kommandozeile testweise ausführen:

COLOR 4, 5 + ENTER ändert die Randfarbe in Violett. 4 ist dabei der Farbspeicher (Rand) und 5 die Nummer der Farbe. Es gibt Farben 1 bis 16. Die zugehörigen Farben:

1Schwarz
2Weiss
3Rosa
4Türkis
5Violett
6Hellgrün
7...hier dürfen Sie
weitermachen
8
9
10
11
12
13
14
15
16

Die Tabelle habe ich nicht ganz ausgefüllt. Sie können den COLOR-Befehl in ein kleines Programm einbinden, das Ihnen hintereinander jede Farbe als Randfarbe zeigt und die dazugehörige Nummer und dann wartet, bis Sie eine Taste drücken. Dann geht's weiter zur nächsten Farbe. Das sollte für Sie ein Kinderspiel sein.

Helligkeit

Man kann dem COLOR-Befehl noch ein drittes Argument übergeben, die Helligkeit, eine Ganzzahl zwischen 0 und 7: COLOR 4,3,0 setzt die Farbe Nr. 3 auf ganz dunkel, COLOR 4,3,7 auf ganz hell. Dadurch kommen (theoretisch) die 128 Farben zustande: 16 mal 8 Farben. In Wirklichkeit sind es weit weniger, da es bei Schwarz keine Abstufungen gibt und die 16 Farbnummern nur 11 faktisch verschiedenen Farben entsprechen. Aber für's erste reicht das auch.

Hintergrund

Die Änderung des Hintergrund funktioniert im Prinzip genauso wie die des Randes (nur mit Farbspeicher 0). Aber man muss aufpassen: In dem Moment, in dem man den Hintergrund auf die Vordergrundfarbe setzt (im Regelfall werden Sie Schwarz, Farbe Nr. 1, als Vordergrundfarbe haben), können Sie nichts mehr lesen! Keinen Programmtext , kein READY und kein Kommando! Sie müssen dann entweder blind schreiben, oder den C16 "ausschalten" (Reset im Menü "Files"). Es ist zu empfehlen, in die obige Farbtabelle zu schauen, bevor man hier Experimente macht.

Vordergrund

Bezüglich der "Blindheits"gefahr gilt hier natürlich das Gleiche. Aber der Vordergrund funktioniert auch noch ein bisschen anders. Die Änderung wirkt sich zunächst überhaupt nicht aus, denn sie bezieht sich nicht auf den Vordergrund an sich, sondern auf die aktuelle Schriftfarbe. Man muss sich das vorstellen wie einen Kugelschreiber, bei dem man die Farbmine ausgetauscht hat. Das, was sich mit Rot bisher geschrieben habe, bleibt rot, aber das was ich ab jetzt schreibe, wird grün.

Auf diese Art und Weise kann nun die Vordergrundfarbe Zeichen für Zeichen ändern und alle 128 Farben gleichzeitig auf den Bildschirm bringen. Machen Sie das einmal!

SOUND

Es sei hier nebenbei bemerkt, dass der C16 auch über SOUND verfügt. Dabei handelt es sich allerdings um eine sehr einfache Tonausgabe, die mit einer Soundkarte des PC's nicht zu vergleichen ist. Aber für kleine Spiele kann sie ganz nett sein. Leider hat hier der Yape-Emulator, der die Funktionen des C16 in die des PC's umsetzt, einen Defekt, so dass der C16-SOUND am PC leider nicht funktioniert.