Migration to the new server completed.

Please add any new defect you notice here!


Die Migration auf den neuen Server ist abgeschlossen.

Bitte neue Defekte hier vermerken!

CMOB

Aus C64-Wiki
Wechseln zu: Navigation, Suche
CMOB
Format: CMOB <f1>, <f2>
Parameter
f1: Spritefarbe 1 (0..15)
f2: Spritefarbe 2 (0..15)
Einordnung
Typ: Anweisung
Kontext: Sprites
Aufgabe: Färben eines Multicolorsprites
Shortcut: keiner
Verwandte Befehle
DESIGN - @ - MOB SET



Dieser Artikel beschreibt das Simons'-Basic-Schlüsselwort CMOB.

Typ: Anweisung 
Syntax: CMOB <f1>, <f2>

Mit CMOB setzt man die beiden für alle Mulitcolor-Sprites einheitlichen Farben in VIC-Register $D025 (<f1>) und $D026 (<f2>). Die dritte, für jedes Sprite individuelle Farbe erhält es mit dem Befehl MOB SET (Register $D027 und folgende). Die vierte Farbe schließlich ist die Bildschirmhintergrundfarbe, die mit COLOUR bzw. FCOL gesetzt wird.

Wird kein Parameter eingegeben, so erscheint die Fehlermeldung ?SYNTAX ERROR, ein falscher Wert (größer als 15) wird behandelt, als ob er mit 15 geANDet wurde (wie bei Farben üblich).

Die CMOB-Farben werden bei der Sprite-Definition (mit DESIGN und @) den Definitionsbuchstaben B und D zugewiesen, der Buchstabe C erhält seine Farben aus dem MOB-SET-Befehl. (Leider hat David Simons an dieser Stelle nicht gut genug nachgedacht, sonst hätte er die Verwirrung bei den Farbdefinitionsbuchstaben sicher vermieden, daher:)

Beachten: Die Zuordnung der Buchstaben B und C bei den Befehlen MOB SET, DESIGN und @ ändert sich je nach Darstellungsmodus des Sprites. Das ist ärgerlich und führt oft zu einer Fehlersuche, ist aber nicht zu ändern.

(thumbnail)
Ein Multicolor-Sprite
Beispiel: 

; definiert ein Multicolor-Sprite für den Simons'-Basic-Textmodus
; 
1700 PROC msprite
1710   DESIGN 1, 14*64
1720   @...bbbbb....
1721   @.bbb...bbb..
1722   @bb.cc.cc.bb.
1723   @bb...c...bb.
1724   @bb...c...bb.
1725   @.bbbcccbbb..
1726   @...bbbbb....
1727   @b...ddd.....
1728   @bb..ddd.....
1729   @bbbbdddbb...
1730   @..bbdddbb...
1731   @....ddd.bb..
1732   @....ddd..bb.
1733   @....ddd...b.
1734   @....ddd.....
1735   @..ccc.ccc...
1736   @.ccc...ccc..
1737   @.cc.....cc..
1738   @ccc.....ccc.
1739   @ccc.....ccc.
1740   @bbbbbbbbbbbb
1750   COLOUR 9,9: MOB SET 2,14,8,0,1: CMOB 7,6: s8=300: z8=205: MMOB 2,0,0,s8,z8,2,200
1760 END PROC

Gelb ist die CMOB-Farbe Nr. 1, blau die Nr. 2. Orange kommt aus dem MOB-SET-Befehl (dort 
Parameter Nr. 3)
(entnommen aus dem "Trainingsbuch zum Simon's Basic")