CMOB
Aus C64-Wiki
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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.
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")
