Files
tetris/rgb-driver/colors.S
2024-05-18 23:11:00 +02:00

52 lines
2.3 KiB
ArmAsm

#include "colors.h"
#define DF 5
#define DF_M 3
.section ".rodata","a"
;; color definitions according to
;; https://learn.sparkfun.com/tutorials/lilypad-protosnap-plus-activity-guide/3-custom-color-mixing
colors:
.global colors
;; red, green, blue, padding
.byte 0x00, 0x00, 0x00, 0 ;; off
.byte 0x00>>DF, 0x00>>DF, 0xff>>DF, 0 ;; blue
.byte 0x00>>DF, 0xff>>DF, 0x00>>DF, 0 ;; green
.byte 0xff>>DF, 0x80>>DF, 0x00>>DF, 0 ;; orange
.byte 0xff>>DF, 0x00>>DF, 0x80>>DF, 0 ;; rose
.byte 0xff>>DF, 0x00>>DF, 0xff>>DF, 0 ;; magenta
.byte 0x80>>DF, 0x00>>DF, 0xff>>DF, 0 ;; violet
.byte 0x00>>DF, 0x80>>DF, 0xff>>DF, 0 ;; azure
.byte 0x00>>DF, 0xff>>DF, 0xff>>DF, 0 ;; cyan
.byte 0x00>>DF, 0xff>>DF, 0x80>>DF, 0 ;; springgreen
.byte 0x80>>DF, 0xff>>DF, 0x00>>DF, 0 ;; chartreuse
.byte 0xff>>DF, 0xff>>DF, 0x00>>DF, 0 ;; yellow
.byte 0xff>>DF, 0xff>>DF, 0xff>>DF, 0 ;; white
.byte 0xff>>DF, 0x00>>DF, 0x00>>DF, 0 ;; red
.byte 0x00>>DF_M, 0x00>>DF_M, 0xff>>DF_M, 0 ;; blue
.byte 0x00>>DF_M, 0xff>>DF_M, 0x00>>DF_M, 0 ;; green
.byte 0xff>>DF_M, 0x80>>DF_M, 0x00>>DF_M, 0 ;; orange
.byte 0xff>>DF_M, 0x00>>DF_M, 0x80>>DF_M, 0 ;; rose
.byte 0xff>>DF_M, 0x00>>DF_M, 0xff>>DF_M, 0 ;; magenta
.byte 0x80>>DF_M, 0x00>>DF_M, 0xff>>DF_M, 0 ;; violet
.byte 0x00>>DF_M, 0x80>>DF_M, 0xff>>DF_M, 0 ;; azure
.byte 0x00>>DF_M, 0xff>>DF_M, 0xff>>DF_M, 0 ;; cyan
.byte 0x00>>DF_M, 0xff>>DF_M, 0x80>>DF_M, 0 ;; springgreen
.byte 0x80>>DF_M, 0xff>>DF_M, 0x00>>DF_M, 0 ;; chartreuse
.byte 0xff>>DF_M, 0xff>>DF_M, 0x00>>DF_M, 0 ;; yellow
.byte 0xff>>DF_M, 0xff>>DF_M, 0xff>>DF_M, 0 ;; white
.byte 0xff>>DF_M, 0x00>>DF_M, 0x00>>DF_M, 0 ;; red
.byte 0x00, 0x00, 0xff, 0 ;; blue
.byte 0x00, 0xff, 0x00, 0 ;; green
.byte 0xff, 0x80, 0x00, 0 ;; orange
.byte 0xff, 0x00, 0x80, 0 ;; rose
.byte 0xff, 0x00, 0xff, 0 ;; magenta
.byte 0x80, 0x00, 0xff, 0 ;; violet
.byte 0x00, 0x80, 0xff, 0 ;; azure
.byte 0x00, 0xff, 0xff, 0 ;; cyan
.byte 0x00, 0xff, 0x80, 0 ;; springgreen
.byte 0x80, 0xff, 0x00, 0 ;; chartreuse
.byte 0xff, 0xff, 0x00, 0 ;; yellow
.byte 0xff, 0xff, 0xff, 0 ;; white
.byte 0xff, 0x00, 0x00, 0 ;; red