From f0e8bf761668f7c3317bce41af26572b8a11b272 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Tue, 27 Feb 2024 15:10:38 +0100 Subject: [PATCH] color definitions --- colors.h | 20 ++++++++++++ main.S | 94 +++++++++++++++++++++++++++++++++++--------------------- 2 files changed, 79 insertions(+), 35 deletions(-) create mode 100644 colors.h diff --git a/colors.h b/colors.h new file mode 100644 index 0000000..c6d9a57 --- /dev/null +++ b/colors.h @@ -0,0 +1,20 @@ +#ifndef _COLORS_H_ +#define _COLORS_H_ + + +#define _red 0x00 +#define _blue 0x01 +#define _green 0x02 +#define _orange 0x03 +#define _rose 0x04 +#define _magenta 0x05 +#define _violet 0x06 +#define _azure 0x07 +#define _cyan 0x08 +#define _springgreen 0x09 +#define _chartreuse 0x0a +#define _yellow 0x0b + + + +#endif diff --git a/main.S b/main.S index 8f541ab..769da83 100644 --- a/main.S +++ b/main.S @@ -1,41 +1,84 @@ .file "main.S" #include - +#include "colors.h" #define PC r0 #define SP r1 #define SR r2 -#define _red 0x00 -#define _blue 0x01 -#define _green 0x02 .section ".rodata","a" screendata: - .byte _red - .byte _blue - .byte _green + .byte _violet + .byte _orange + .byte _springgreen screendataend: .byte 0xff +;; color definitions according to https://learn.sparkfun.com/tutorials/lilypad-protosnap-plus-activity-guide/3-custom-color-mixing red: colors1: - .byte 0b11111111 + .byte 0xff ;; red colors2: - .byte 0b00000000 + .byte 0x00 ;; green colors3: - .byte 0b00000000 + .byte 0x00 ;; blue .byte 0 blue: - .byte 0b00000000 - .byte 0b00000000 - .byte 0b11111111 + .byte 0x00 + .byte 0x00 + .byte 0xff .byte 0 green: - .byte 0b00000000 - .byte 0b11111111 - .byte 0b00000000 + .byte 0x00 + .byte 0xff + .byte 0x00 + .byte 0 +orange: + .byte 0xff + .byte 0x80 + .byte 0x00 + .byte 0 +rose: + .byte 0xff + .byte 0x00 + .byte 0x80 + .byte 0 +magenta: + .byte 0xff + .byte 0x00 + .byte 0xff + .byte 0 +violet: + .byte 0x80 + .byte 0x00 + .byte 0xff + .byte 0 +azure: + .byte 0x00 + .byte 0x80 + .byte 0xff + .byte 0 +cyan: + .byte 0x00 + .byte 0xff + .byte 0xff + .byte 0 +springgreen: + .byte 0x00 + .byte 0xff + .byte 0x80 + .byte 0 +chartreuse: + .byte 0x80 + .byte 0xff + .byte 0x00 + .byte 0 +yellow: + .byte 0xff + .byte 0xff + .byte 0x00 .byte 0 ;; .text is the name of the section, it is a hint for the linker to @@ -57,9 +100,6 @@ _start: ;; initialize stack pointer with value from linker mov.w #__stack, SP - mov.w #0xaaaa, r7 - mov.w #0x5555, r8 - init: ;; configuration of GPIO Ports mov.b #BIT0|BIT1|BIT2,&P1DIR @@ -114,22 +154,6 @@ mainloop: rla.b r9 rla.b r9 -; This code already works -;mainloop_wait_for_isr: -; ;; check bit0 in sync register -; bit #0x01,r4 -; jz mainloop_wait_for_isr -; -; ;; load data -; mov.b r9,r5 -; ;; clear BYTE_DONE -; bic #0x01, r4 -; ;; enable isr -; bis #0x02, r4 -; -; ;; continue -; jmp mainloop - ;; enable isr bis #0x02, r4