Gross/Kleinschreibung ist bei Bascom (u.a. auch VBasic, QBasic) im Gegensatz zu C egal.

Aber hab das Problem jetzt umgangen; ich hab mir die Funktion umgebaut, so dass ich die Farbe als HTML-Farbcode-String ("FF00FF" für Magenta z.B.) abspeicher und in der Funktion dann zerlege.

Also die Hex-Anteile in 3 Bytes umwandeln, da dann die gleiche Bit-Schieberei wie im ersten Versuch... und siehe da: So klappts.

Code:

Code:
...
'Aufruf:
ColorString = "FFFF00":SetPixelHex
...

Sub SetPixelHex
  StrRed = mid(ColorString , 1 , 2)
  StrGreen = mid(ColorString , 3 , 2)
  StrBlue = mid(ColorString , 5 , 2)
  BRed = hexVal(StrRed)
  BGreen = hexVAL(StrGreen)
  BBlue = hexVAL(StrBlue)
  R = BRed AND &B11111000
  G1 = BGREEN AND &B11100000
  G2 = BGREEN AND &B00011100
  B1 = BBLue AND &B11111000
    SHIFT G1 , right , 5
    SHIFT G2 , left , 3
    SHIFT B1 , right , 3
    ColorData1 = R OR G1
    ColorData2 = B1 OR G2
  SendData ColorData1
  SendData ColorData2
End Sub