summaryrefslogtreecommitdiff
path: root/frontends/calculator/CEdev/examples/keypad_arrows/src
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2019-04-10 15:14:00 -0400
committerAndrew Opalach <andrew@akon.city> 2019-04-10 15:14:00 -0400
commit60699af63f92f43cc4b4b9e3050fcdd2a8468281 (patch)
tree20a18af2774daa43ae7f4352dd032a24f7e06075 /frontends/calculator/CEdev/examples/keypad_arrows/src
parent4527bc20241068731c62101d0467d416119ec0c4 (diff)
downloadcetris-60699af63f92f43cc4b4b9e3050fcdd2a8468281.tar.gz
cetris-60699af63f92f43cc4b4b9e3050fcdd2a8468281.tar.bz2
cetris-60699af63f92f43cc4b4b9e3050fcdd2a8468281.zip
add opengl fronend, remove sdl frontend, refactor build system
Diffstat (limited to 'frontends/calculator/CEdev/examples/keypad_arrows/src')
-rw-r--r--frontends/calculator/CEdev/examples/keypad_arrows/src/main.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/frontends/calculator/CEdev/examples/keypad_arrows/src/main.c b/frontends/calculator/CEdev/examples/keypad_arrows/src/main.c
new file mode 100644
index 0000000..c4f7adf
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/keypad_arrows/src/main.c
@@ -0,0 +1,49 @@
+#include <stdbool.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <tice.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <keypadc.h>
+
+/* Function Prototypes */
+void fill_screen(uint8_t color);
+
+void main(void) {
+ /* Key variable */
+ kb_key_t key;
+
+ /* Loop until 2nd is pressed */
+ do {
+ /* Update kb_Data */
+ kb_Scan();
+
+ /* Load group 7 registers */
+ key = kb_Data[7];
+
+ switch (key) {
+ case kb_Down: /* Change screen color to black */
+ fill_screen(0x00);
+ break;
+ case kb_Right: /* Change screen color to red */
+ fill_screen(0xE0);
+ break;
+ case kb_Up: /* Change screen color to white */
+ fill_screen(0xFF);
+ break;
+ case kb_Left: /* Change screen color to a different red */
+ fill_screen(0xC0);
+ break;
+ default:
+ break;
+ }
+ } while (kb_Data[1] != kb_2nd);
+}
+
+/* Simple way to fill the screen with a given color */
+void fill_screen(uint8_t color) {
+ memset(lcd_Ram, color, LCD_SIZE);
+}