summaryrefslogtreecommitdiff
path: root/frontends/calculator/CEdev/examples/gfx_sprite
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/calculator/CEdev/examples/gfx_sprite')
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprite/autotester.json31
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprite/makefile15
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprite/readme.md10
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprite/screenshot.pngbin0 -> 6597 bytes
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprite/src/gfx/convpng.ini4
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprite/src/gfx/logo_gfx.c195
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprite/src/gfx/logo_gfx.h17
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprite/src/gfx/ubuntu.c40
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprite/src/gfx/ubuntu.pngbin0 -> 1404 bytes
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprite/src/main.c39
10 files changed, 351 insertions, 0 deletions
diff --git a/frontends/calculator/CEdev/examples/gfx_sprite/autotester.json b/frontends/calculator/CEdev/examples/gfx_sprite/autotester.json
new file mode 100644
index 0000000..a88868a
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprite/autotester.json
@@ -0,0 +1,31 @@
+{
+ "rom": "84pce_515.rom",
+ "transfer_files": [
+ "bin/DEMO.8xp"
+ ],
+ "target": {
+ "name": "DEMO",
+ "isASM": true
+ },
+ "sequence": [
+ "action|launch",
+ "hashWait|1",
+ "key|enter",
+ "hashWait|2"
+ ],
+ "hashes": {
+ "1": {
+ "description": "Make sure the sprites are displayed properly",
+ "start": "vram_start",
+ "size": "vram_8_size",
+ "expected_CRCs": [ "DF7FD32" ]
+ },
+ "2": {
+ "description": "Back to the home screen (exit check)",
+ "start": "vram_start",
+ "size": "vram_16_size",
+ "expected_CRCs": [ "FFAF89BA", "101734A5", "9DA19F44" ]
+ }
+ }
+}
+
diff --git a/frontends/calculator/CEdev/examples/gfx_sprite/makefile b/frontends/calculator/CEdev/examples/gfx_sprite/makefile
new file mode 100644
index 0000000..1f1b36b
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprite/makefile
@@ -0,0 +1,15 @@
+# ----------------------------
+# Set NAME to the program name
+# Set ICON to the png icon file name
+# Set DESCRIPTION to display within a compatible shell
+# Set COMPRESSED to "YES" to create a compressed program
+# ----------------------------
+
+NAME ?= DEMO
+COMPRESSED ?= NO
+ICON ?= iconc.png
+DESCRIPTION ?= "C SDK Demo"
+
+# ----------------------------
+
+include $(CEDEV)/include/.makefile
diff --git a/frontends/calculator/CEdev/examples/gfx_sprite/readme.md b/frontends/calculator/CEdev/examples/gfx_sprite/readme.md
new file mode 100644
index 0000000..9c072c0
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprite/readme.md
@@ -0,0 +1,10 @@
+### GraphX Sprite Demo
+
+Draws a bunch of different styles of sprites on the screen.
+
+![Screenshot](screenshot.png)
+
+---
+
+This demo is a part of the C SDK Toolchain for use on the CE.
+
diff --git a/frontends/calculator/CEdev/examples/gfx_sprite/screenshot.png b/frontends/calculator/CEdev/examples/gfx_sprite/screenshot.png
new file mode 100644
index 0000000..b115cbe
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprite/screenshot.png
Binary files differ
diff --git a/frontends/calculator/CEdev/examples/gfx_sprite/src/gfx/convpng.ini b/frontends/calculator/CEdev/examples/gfx_sprite/src/gfx/convpng.ini
new file mode 100644
index 0000000..7bd3158
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprite/src/gfx/convpng.ini
@@ -0,0 +1,4 @@
+#GroupC : logo_gfx
+#TransparentColor : 255,255,255
+#PNGImages :
+ ubuntu
diff --git a/frontends/calculator/CEdev/examples/gfx_sprite/src/gfx/logo_gfx.c b/frontends/calculator/CEdev/examples/gfx_sprite/src/gfx/logo_gfx.c
new file mode 100644
index 0000000..4086cdc
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprite/src/gfx/logo_gfx.c
@@ -0,0 +1,195 @@
+// convpng
+#include <stdint.h>
+#include "logo_gfx.h"
+
+uint16_t logo_gfx_pal[189] = {
+ 0xFFFF, // 00 :: rgb(255,255,255)
+ 0x7E20, // 01 :: rgb(251,139,1)
+ 0xFE20, // 02 :: rgb(251,140,4)
+ 0xFFFF, // 03 :: rgb(255,253,253)
+ 0x6800, // 04 :: rgb(212,2,2)
+ 0xE821, // 05 :: rgb(213,11,11)
+ 0x7E20, // 06 :: rgb(251,139,2)
+ 0x7E20, // 07 :: rgb(251,139,0)
+ 0x7920, // 08 :: rgb(244,72,0)
+ 0xFFFF, // 09 :: rgb(255,254,254)
+ 0xFFFF, // 10 :: rgb(255,254,253)
+ 0xFECC, // 11 :: rgb(252,182,97)
+ 0x7A90, // 12 :: rgb(249,163,128)
+ 0x7FDC, // 13 :: rgb(254,244,231)
+ 0xF985, // 14 :: rgb(245,100,40)
+ 0x7F9A, // 15 :: rgb(253,225,213)
+ 0x7FDD, // 16 :: rgb(253,242,242)
+ 0x6D6B, // 17 :: rgb(226,90,90)
+ 0xFFBC, // 18 :: rgb(254,239,233)
+ 0xF921, // 19 :: rgb(244,77,7)
+ 0x7EED, // 20 :: rgb(252,187,107)
+ 0xFF99, // 21 :: rgb(254,231,203)
+ 0xFFFE, // 22 :: rgb(255,253,250)
+ 0xFF16, // 23 :: rgb(251,199,177)
+ 0xF921, // 24 :: rgb(244,78,8)
+ 0xFE87, // 25 :: rgb(251,167,61)
+ 0xFFBA, // 26 :: rgb(254,237,216)
+ 0x7F31, // 27 :: rgb(253,204,143)
+ 0xFF76, // 28 :: rgb(253,222,183)
+ 0x7B7B, // 29 :: rgb(249,220,220)
+ 0xFAF7, // 30 :: rgb(244,192,192)
+ 0x7FDD, // 31 :: rgb(252,241,241)
+ 0xF18C, // 32 :: rgb(229,102,102)
+ 0xFE87, // 33 :: rgb(251,164,56)
+ 0x7B5A, // 34 :: rgb(247,212,212)
+ 0xFF76, // 35 :: rgb(253,221,181)
+ 0xF652, // 36 :: rgb(237,151,151)
+ 0x7652, // 37 :: rgb(236,145,145)
+ 0x6D29, // 38 :: rgb(224,74,74)
+ 0xE800, // 39 :: rgb(212,3,3)
+ 0x718C, // 40 :: rgb(228,98,98)
+ 0xFF54, // 41 :: rgb(253,214,165)
+ 0x7673, // 42 :: rgb(237,153,153)
+ 0xFF32, // 43 :: rgb(252,205,148)
+ 0x7EA8, // 44 :: rgb(251,169,68)
+ 0x6CC6, // 45 :: rgb(219,48,48)
+ 0x7FBA, // 46 :: rgb(254,234,211)
+ 0xE842, // 47 :: rgb(215,20,20)
+ 0xFB7B, // 48 :: rgb(250,224,224)
+ 0xFF77, // 49 :: rgb(253,224,187)
+ 0xF652, // 50 :: rgb(237,149,149)
+ 0x7F75, // 51 :: rgb(253,218,175)
+ 0x7FFE, // 52 :: rgb(254,249,249)
+ 0x7EEC, // 53 :: rgb(252,185,102)
+ 0x7FBD, // 54 :: rgb(252,236,236)
+ 0xFFFF, // 55 :: rgb(255,253,251)
+ 0x7EED, // 56 :: rgb(252,188,109)
+ 0x7FFF, // 57 :: rgb(254,252,252)
+ 0xFAF7, // 58 :: rgb(243,189,189)
+ 0x7B9B, // 59 :: rgb(250,225,225)
+ 0x7AD2, // 60 :: rgb(250,179,149)
+ 0xED09, // 61 :: rgb(224,70,70)
+ 0xECA5, // 62 :: rgb(218,43,43)
+ 0xFAF4, // 63 :: rgb(250,190,165)
+ 0x6D4A, // 64 :: rgb(225,82,82)
+ 0xED08, // 65 :: rgb(223,69,69)
+ 0x6D08, // 66 :: rgb(222,63,63)
+ 0x76D6, // 67 :: rgb(242,178,178)
+ 0xECC6, // 68 :: rgb(220,51,51)
+ 0xF1AD, // 69 :: rgb(229,109,109)
+ 0xFFDD, // 70 :: rgb(254,246,235)
+ 0x718C, // 71 :: rgb(228,97,97)
+ 0xFFBC, // 72 :: rgb(254,239,234)
+ 0xFF77, // 73 :: rgb(253,223,187)
+ 0x76D6, // 74 :: rgb(242,179,179)
+ 0x6863, // 75 :: rgb(216,26,26)
+ 0x7AB1, // 76 :: rgb(249,169,136)
+ 0xE843, // 77 :: rgb(215,21,21)
+ 0xFF9C, // 78 :: rgb(251,230,230)
+ 0xF9A6, // 79 :: rgb(245,108,51)
+ 0x7F97, // 80 :: rgb(253,225,189)
+ 0x7942, // 81 :: rgb(244,81,13)
+ 0x7FBA, // 82 :: rgb(254,236,215)
+ 0xFE21, // 83 :: rgb(251,143,11)
+ 0x7FBC, // 84 :: rgb(251,234,234)
+ 0xFB18, // 85 :: rgb(245,197,197)
+ 0x76D6, // 86 :: rgb(242,177,177)
+ 0x71AD, // 87 :: rgb(229,106,106)
+ 0xFAB2, // 88 :: rgb(249,176,144)
+ 0x7F9A, // 89 :: rgb(253,227,217)
+ 0x7FDD, // 90 :: rgb(254,242,237)
+ 0x7FDE, // 91 :: rgb(253,243,243)
+ 0x7AB1, // 92 :: rgb(249,171,139)
+ 0xFFBB, // 93 :: rgb(254,239,221)
+ 0xF694, // 94 :: rgb(240,167,167)
+ 0xFF7A, // 95 :: rgb(253,224,213)
+ 0x7F0E, // 96 :: rgb(253,193,117)
+ 0xFA6F, // 97 :: rgb(249,159,121)
+ 0x7FFE, // 98 :: rgb(255,251,247)
+ 0xFEAA, // 99 :: rgb(251,175,80)
+ 0x7694, // 100 :: rgb(239,161,161)
+ 0x7AF3, // 101 :: rgb(250,186,160)
+ 0xE801, // 102 :: rgb(213,5,5)
+ 0xFA6F, // 103 :: rgb(249,159,122)
+ 0x7FDB, // 104 :: rgb(254,241,224)
+ 0xF920, // 105 :: rgb(244,75,4)
+ 0x7A8F, // 106 :: rgb(249,160,123)
+ 0x7694, // 107 :: rgb(239,163,163)
+ 0xE822, // 108 :: rgb(214,14,14)
+ 0x6D29, // 109 :: rgb(223,71,71)
+ 0xFF55, // 110 :: rgb(253,215,169)
+ 0x7A8F, // 111 :: rgb(249,161,124)
+ 0xFF32, // 112 :: rgb(253,207,151)
+ 0x7FBB, // 113 :: rgb(253,233,224)
+ 0xF694, // 114 :: rgb(239,165,165)
+ 0xFFBC, // 115 :: rgb(254,238,231)
+ 0xFB39, // 116 :: rgb(247,208,208)
+ 0x7B38, // 117 :: rgb(246,201,201)
+ 0x6842, // 118 :: rgb(214,16,16)
+ 0x7FFF, // 119 :: rgb(254,251,251)
+ 0xFB7B, // 120 :: rgb(250,223,223)
+ 0xF16C, // 121 :: rgb(227,95,95)
+ 0x7672, // 122 :: rgb(237,152,152)
+ 0x7631, // 123 :: rgb(235,138,138)
+ 0xFE87, // 124 :: rgb(251,165,60)
+ 0xFFDD, // 125 :: rgb(254,245,240)
+ 0xFF33, // 126 :: rgb(252,208,154)
+ 0x7F79, // 127 :: rgb(252,220,207)
+ 0x7E41, // 128 :: rgb(251,144,12)
+ 0x7E42, // 129 :: rgb(251,146,19)
+ 0x7F36, // 130 :: rgb(251,202,182)
+ 0x7FDC, // 131 :: rgb(254,243,230)
+ 0x7963, // 132 :: rgb(244,89,24)
+ 0x7F0E, // 133 :: rgb(252,193,119)
+ 0xFE87, // 134 :: rgb(251,164,57)
+ 0x7A2B, // 135 :: rgb(247,138,92)
+ 0xFA6E, // 136 :: rgb(249,157,119)
+ 0xFF9B, // 137 :: rgb(253,229,219)
+ 0x7920, // 138 :: rgb(244,74,3)
+ 0xFFDE, // 139 :: rgb(254,246,243)
+ 0xF964, // 140 :: rgb(245,95,32)
+ 0xF921, // 141 :: rgb(244,76,6)
+ 0xFAD3, // 142 :: rgb(250,183,155)
+ 0xFAD3, // 143 :: rgb(250,182,154)
+ 0xF985, // 144 :: rgb(245,103,44)
+ 0x7FFE, // 145 :: rgb(255,252,250)
+ 0x7FFE, // 146 :: rgb(255,251,250)
+ 0x6800, // 147 :: rgb(212,1,1)
+ 0x7B18, // 148 :: rgb(245,195,195)
+ 0x7AD2, // 149 :: rgb(250,178,148)
+ 0x7ECB, // 150 :: rgb(251,179,87)
+ 0x7EA8, // 151 :: rgb(251,169,69)
+ 0xFEAA, // 152 :: rgb(251,176,82)
+ 0x7652, // 153 :: rgb(236,146,146)
+ 0xF942, // 154 :: rgb(244,83,16)
+ 0xF9E9, // 155 :: rgb(246,126,76)
+ 0xFFDD, // 156 :: rgb(254,246,242)
+ 0x71EF, // 157 :: rgb(231,120,120)
+ 0xFB39, // 158 :: rgb(247,206,206)
+ 0xFF37, // 159 :: rgb(252,208,190)
+ 0x6D08, // 160 :: rgb(222,65,65)
+ 0x7FDE, // 161 :: rgb(253,244,244)
+ 0x7A4D, // 162 :: rgb(248,147,106)
+ 0xFB5A, // 163 :: rgb(248,216,216)
+ 0x7F79, // 164 :: rgb(253,220,206)
+ 0xFAD3, // 165 :: rgb(250,181,153)
+ 0x7F15, // 166 :: rgb(251,196,173)
+ 0x7F31, // 167 :: rgb(252,201,137)
+ 0xF9C8, // 168 :: rgb(246,116,62)
+ 0xFAB2, // 169 :: rgb(250,176,145)
+ 0xFF10, // 170 :: rgb(252,198,131)
+ 0x7A6E, // 171 :: rgb(248,155,117)
+ 0xFF9B, // 172 :: rgb(253,232,224)
+ 0xFFBB, // 173 :: rgb(254,240,221)
+ 0x7920, // 174 :: rgb(244,74,2)
+ 0x7FDC, // 175 :: rgb(254,243,229)
+ 0xFE21, // 176 :: rgb(251,141,6)
+ 0x7F53, // 177 :: rgb(253,210,155)
+ 0xF9E9, // 178 :: rgb(247,127,77)
+ 0xFF58, // 179 :: rgb(252,213,197)
+ 0xFE87, // 180 :: rgb(251,164,58)
+ 0xFF54, // 181 :: rgb(253,213,164)
+ 0xFEA9, // 182 :: rgb(251,174,78)
+ 0xFE21, // 183 :: rgb(251,143,10)
+ 0x79E8, // 184 :: rgb(246,120,67)
+ 0x7E87, // 185 :: rgb(251,163,54)
+ 0xFFDD, // 186 :: rgb(254,248,240)
+ 0x7F57, // 187 :: rgb(252,210,193)
+ 0x6800, // 188 :: rgb(212,0,0)
+}; \ No newline at end of file
diff --git a/frontends/calculator/CEdev/examples/gfx_sprite/src/gfx/logo_gfx.h b/frontends/calculator/CEdev/examples/gfx_sprite/src/gfx/logo_gfx.h
new file mode 100644
index 0000000..eba6d22
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprite/src/gfx/logo_gfx.h
@@ -0,0 +1,17 @@
+// convpng
+// this file contains all the graphics sources for easy inclusion in a project
+#ifndef __logo_gfx__
+#define __logo_gfx__
+#include <stdint.h>
+
+#define logo_gfx_transparent_color_index 0
+
+#define ubuntu_width 32
+#define ubuntu_height 32
+#define ubuntu_size 1026
+extern uint8_t ubuntu_data[1026];
+#define ubuntu ((gfx_sprite_t*)ubuntu_data)
+#define sizeof_logo_gfx_pal 378
+extern uint16_t logo_gfx_pal[189];
+
+#endif
diff --git a/frontends/calculator/CEdev/examples/gfx_sprite/src/gfx/ubuntu.c b/frontends/calculator/CEdev/examples/gfx_sprite/src/gfx/ubuntu.c
new file mode 100644
index 0000000..ac4f3b9
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprite/src/gfx/ubuntu.c
@@ -0,0 +1,40 @@
+// convpng
+#include <stdint.h>
+#include "logo_gfx.h"
+
+// 8 bpp image
+uint8_t ubuntu_data[1026] = {
+ 32,32, // width,height
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x43,0x25,0x1D,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x11,0xBC,0xBC,0x05,0x1E,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x59,0x3F,0x4C,0x0C,0x8E,0x12,0xA3,0xBC,0xBC,0xBC,0xBC,0x26,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x0E,0x08,0x08,0x08,0x08,0x08,0xA6,0x9E,0xBC,0xBC,0xBC,0xBC,0x41,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x83,0x00,0x89,0x13,0x08,0x08,0x08,0x08,0x08,0xA2,0x09,0xA0,0xBC,0xBC,0x93,0x56,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x81,0x0D,0x00,0x88,0x08,0x08,0x08,0x08,0x08,0x13,0xA4,0xA1,0x99,0x9D,0x94,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6E,0x01,0x07,0x0B,0x00,0x7D,0x84,0x69,0x8C,0x90,0x18,0x08,0x9A,0xA5,0x9C,0x92,0x0F,0x5C,0x09,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5D,0x53,0x07,0x07,0x06,0x15,0x00,0x5F,0x5A,0x00,0x00,0x91,0x9F,0x9B,0x08,0x08,0x8D,0x08,0x08,0x3C,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x98,0x07,0x07,0x07,0x07,0x85,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x8F,0x8A,0x08,0x08,0x08,0x51,0x48,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAD,0x01,0x07,0x07,0x07,0x7C,0x16,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x08,0x08,0x08,0x08,0x0C,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB5,0x07,0x07,0x07,0x06,0x52,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x4F,0x08,0x08,0x08,0x0E,0x09,0x00,0x00,
+ 0x00,0x00,0x00,0x8B,0xA9,0xAB,0xBB,0x00,0x14,0x07,0x07,0x97,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x65,0x08,0x08,0x08,0x08,0x12,0x00,0x00,
+ 0x00,0x00,0x0A,0xA8,0x08,0x08,0xAE,0x17,0xBA,0xB7,0x07,0xAA,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x6F,0x6A,0x67,0x61,0x71,0x00,0x00,
+ 0x00,0x00,0x7F,0x08,0x08,0x08,0x08,0xB8,0x00,0xB4,0x07,0xB1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x0F,0x08,0x08,0x08,0x08,0xB2,0x00,0xB9,0x07,0xA7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5B,0x64,0x6B,0x72,0x5E,0x54,0x00,0x00,
+ 0x00,0x00,0x09,0x87,0x08,0x08,0x18,0xB3,0xAF,0xB0,0x07,0x96,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4A,0xBC,0xBC,0xBC,0xBC,0x4E,0x00,0x00,
+ 0x00,0x00,0x00,0x0A,0x17,0x95,0xAC,0x16,0xB6,0x07,0x07,0x80,0x46,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xBC,0xBC,0xBC,0x4B,0x03,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x07,0x07,0x07,0x07,0x35,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3A,0x04,0xBC,0xBC,0xBC,0x45,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x86,0x07,0x07,0x07,0x07,0x2B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x74,0x4D,0xBC,0xBC,0xBC,0x27,0x22,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x49,0x07,0x07,0x07,0x07,0x33,0x00,0x34,0x09,0x00,0x00,0x00,0x10,0x7B,0x05,0xBC,0xBC,0xBC,0xBC,0x20,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x07,0x07,0x2C,0x09,0x39,0x2D,0x44,0x47,0x57,0x6D,0x6C,0xBC,0xBC,0x04,0x05,0xBC,0x3E,0x1F,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x37,0x0B,0x02,0x2E,0x00,0x32,0xBC,0xBC,0xBC,0xBC,0xBC,0xBC,0x76,0x7A,0x10,0x77,0x78,0x3B,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x31,0x00,0x36,0x2F,0xBC,0xBC,0xBC,0xBC,0xBC,0x66,0x75,0x62,0x70,0x60,0x50,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x04,0xBC,0xBC,0xBC,0xBC,0xBC,0x79,0x09,0x63,0x07,0x07,0x01,0x29,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x24,0x28,0x3D,0x42,0x11,0x55,0x68,0x07,0x07,0x07,0x07,0x21,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0D,0x06,0x07,0x07,0x07,0x19,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x07,0x07,0x02,0x1C,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x23,0x1B,0x1A,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+};
diff --git a/frontends/calculator/CEdev/examples/gfx_sprite/src/gfx/ubuntu.png b/frontends/calculator/CEdev/examples/gfx_sprite/src/gfx/ubuntu.png
new file mode 100644
index 0000000..d041515
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprite/src/gfx/ubuntu.png
Binary files differ
diff --git a/frontends/calculator/CEdev/examples/gfx_sprite/src/main.c b/frontends/calculator/CEdev/examples/gfx_sprite/src/main.c
new file mode 100644
index 0000000..de618be
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprite/src/main.c
@@ -0,0 +1,39 @@
+#include <stdbool.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <tice.h>
+
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <graphx.h>
+
+/* Include the sprite data */
+#include "gfx/logo_gfx.h"
+
+void main(void) {
+ /* Initialize the 8bpp graphics */
+ gfx_Begin();
+
+ /* Set up the palette for our sprites */
+ gfx_SetPalette(logo_gfx_pal, sizeof_logo_gfx_pal, 0);
+
+ /* Fill the screen with color index 0 */
+ gfx_FillScreen(0);
+
+ /* Draw a bunch of different styled sprites on the screen */
+ gfx_Sprite(ubuntu, 0, 0);
+ gfx_Sprite_NoClip(ubuntu, 32, 32);
+ gfx_TransparentSprite(ubuntu, 64, 64);
+ gfx_TransparentSprite_NoClip(ubuntu, 96, 96);
+ gfx_ScaledSprite_NoClip(ubuntu, 128, 128, 2, 2);
+ gfx_ScaledTransparentSprite_NoClip(ubuntu, 128, 0, 3, 3);
+
+ /* Wait for a key to be pressed */
+ while (!os_GetCSC());
+
+ /* Close the graphics */
+ gfx_End();
+}