summaryrefslogtreecommitdiff
path: root/frontends/calculator/CEdev/examples/gfx_sprites_appvar
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/calculator/CEdev/examples/gfx_sprites_appvar')
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprites_appvar/autotester.json31
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprites_appvar/makefile15
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprites_appvar/readme.md10
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprites_appvar/screenshot.pngbin0 -> 2839 bytes
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/all_gfx.c4
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/all_gfx.h8
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/convpng.ini16
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/mint.c4
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/mint.pngbin0 -> 1809 bytes
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/ubuntu.c4
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/ubuntu.pngbin0 -> 1404 bytes
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/var_gfx.8xvbin0 -> 2640 bytes
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/var_gfx.c27
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/var_gfx.h18
-rw-r--r--frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/main.c42
15 files changed, 179 insertions, 0 deletions
diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/autotester.json b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/autotester.json
new file mode 100644
index 0000000..d246692
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/autotester.json
@@ -0,0 +1,31 @@
+{
+ "rom": "84pce_515.rom",
+ "transfer_files": [
+ "bin/DEMO.8xp",
+ "src/gfx/var_gfx.8xv"
+ ],
+ "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": [ "A3ED6457" ]
+ },
+ "2": {
+ "description": "Back to the home screen (exit check)",
+ "start": "vram_start",
+ "size": "vram_16_size",
+ "expected_CRCs": [ "FFAF89BA", "101734A5", "9DA19F44", "43BF8092", "5ACF1C01" ]
+ }
+ }
+}
diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/makefile b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/makefile
new file mode 100644
index 0000000..1f1b36b
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/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_sprites_appvar/readme.md b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/readme.md
new file mode 100644
index 0000000..428bc83
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/readme.md
@@ -0,0 +1,10 @@
+### GraphX Appvars Demo
+
+Demonstrates easily extracting and using images placed into an appvar
+
+![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_sprites_appvar/screenshot.png b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/screenshot.png
new file mode 100644
index 0000000..dcbcdf7
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/screenshot.png
Binary files differ
diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/all_gfx.c b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/all_gfx.c
new file mode 100644
index 0000000..9f77108
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/all_gfx.c
@@ -0,0 +1,4 @@
+// convpng
+#include <stdint.h>
+#include "all_gfx.h"
+
diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/all_gfx.h b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/all_gfx.h
new file mode 100644
index 0000000..37f0480
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/all_gfx.h
@@ -0,0 +1,8 @@
+// convpng
+// this file contains all the graphics sources for easy inclusion in a project
+#ifndef __all_gfx__
+#define __all_gfx__
+#include <stdint.h>
+
+
+#endif
diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/convpng.ini b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/convpng.ini
new file mode 100644
index 0000000..8dc89f4
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/convpng.ini
@@ -0,0 +1,16 @@
+// #AppvarC -- The name of the appvar we are making
+// #IncludePalettes -- List of comma separated groups with palettes
+
+#AppvarC : var_gfx
+#IncludePalettes : all_gfx
+#PNGImages :
+ ubuntu
+ mint
+
+// The main conversion group
+
+#GroupC : all_gfx
+#PNGImages :
+ ubuntu
+ mint
+
diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/mint.c b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/mint.c
new file mode 100644
index 0000000..9f77108
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/mint.c
@@ -0,0 +1,4 @@
+// convpng
+#include <stdint.h>
+#include "all_gfx.h"
+
diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/mint.png b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/mint.png
new file mode 100644
index 0000000..f626cd0
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/mint.png
Binary files differ
diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/ubuntu.c b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/ubuntu.c
new file mode 100644
index 0000000..9f77108
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/ubuntu.c
@@ -0,0 +1,4 @@
+// convpng
+#include <stdint.h>
+#include "all_gfx.h"
+
diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/ubuntu.png b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/ubuntu.png
new file mode 100644
index 0000000..d041515
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/ubuntu.png
Binary files differ
diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/var_gfx.8xv b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/var_gfx.8xv
new file mode 100644
index 0000000..e6bb018
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/var_gfx.8xv
Binary files differ
diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/var_gfx.c b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/var_gfx.c
new file mode 100644
index 0000000..b0d3117
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/var_gfx.c
@@ -0,0 +1,27 @@
+// convpng
+#include <stdint.h>
+#include "var_gfx.h"
+
+#include <fileioc.h>
+uint8_t *var_gfx[3] = {
+ (uint8_t*)0,
+ (uint8_t*)1026,
+ (uint8_t*)2052,
+};
+
+bool var_gfx_init(void) {
+ unsigned int data, i;
+ ti_var_t appvar;
+
+ ti_CloseAll();
+
+ appvar = ti_Open("var_gfx", "r");
+ data = (unsigned int)ti_GetDataPtr(appvar) - (unsigned int)var_gfx[0];
+ for (i = 0; i < var_gfx_num; i++) {
+ var_gfx[i] += data;
+ }
+
+ ti_CloseAll();
+
+ return (bool)appvar;
+}
diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/var_gfx.h b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/var_gfx.h
new file mode 100644
index 0000000..49afcb0
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/gfx/var_gfx.h
@@ -0,0 +1,18 @@
+// convpng
+// this file contains all the graphics sources for easy inclusion in a project
+#ifndef __var_gfx__
+#define __var_gfx__
+#include <stdint.h>
+
+#include <stdbool.h>
+
+#define var_gfx_num 3
+
+extern uint8_t *var_gfx[3];
+#define ubuntu ((gfx_sprite_t*)var_gfx[0])
+#define mint ((gfx_sprite_t*)var_gfx[1])
+#define sizeof_all_gfx_pal 512
+#define all_gfx_pal ((uint16_t*)var_gfx[2])
+bool var_gfx_init(void);
+
+#endif
diff --git a/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/main.c b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/main.c
new file mode 100644
index 0000000..7c18c3a
--- /dev/null
+++ b/frontends/calculator/CEdev/examples/gfx_sprites_appvar/src/main.c
@@ -0,0 +1,42 @@
+#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 <fileioc.h>
+
+/* Include the sprite data */
+#include "gfx/all_gfx.h"
+#include "gfx/var_gfx.h"
+
+void main(void) {
+ /* This function is automatically created by convpng */
+ /* Simply call it to load in graphics from the appvar */
+ /* The common function name is <appvar name>_init */
+ var_gfx_init();
+
+ /* Initialize the graphics */
+ gfx_Begin();
+
+ /* Set up the palette for the sprite */
+ gfx_SetPalette(all_gfx_pal, sizeof_all_gfx_pal, 0);
+
+ /* Fill the screen with color index 0 */
+ gfx_FillScreen(0);
+
+ /* Draw the sprites directly from the appvar */
+ gfx_Sprite(ubuntu, LCD_WIDTH / 2 - 16, LCD_HEIGHT / 2 - 16);
+ gfx_Sprite(mint, LCD_WIDTH / 2 + 16, LCD_HEIGHT / 2 - 16);
+
+ /* Wait for a key to be pressed */
+ while (!os_GetCSC());
+
+ /* Close the graphics */
+ gfx_End();
+}