diff options
| author | 2019-04-10 15:14:00 -0400 | |
|---|---|---|
| committer | 2019-04-10 15:14:00 -0400 | |
| commit | 60699af63f92f43cc4b4b9e3050fcdd2a8468281 (patch) | |
| tree | 20a18af2774daa43ae7f4352dd032a24f7e06075 /frontends/calculator/CEdev/examples/gfx_hello_world | |
| parent | 4527bc20241068731c62101d0467d416119ec0c4 (diff) | |
| download | cetris-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/gfx_hello_world')
5 files changed, 111 insertions, 0 deletions
diff --git a/frontends/calculator/CEdev/examples/gfx_hello_world/autotester.json b/frontends/calculator/CEdev/examples/gfx_hello_world/autotester.json new file mode 100644 index 0000000..2e8ca49 --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_hello_world/autotester.json @@ -0,0 +1,40 @@ +{ + "rom": "84pce_515.rom", + "transfer_files": [ + "bin/DEMO.8xp" + ], + "target": { + "name": "DEMO", + "isASM": true + }, + "sequence": [ + "action|launch", + "delay|300", + "hash|1", + "hash|2", + "key|enter", + "delay|300", + "hashWait|3" + ], + "hashes": { + "1": { + "description": "The background will be black (check a part before the text)", + "start": "vram_start", + "size": "0x4000", + "expected_CRCs": [ "94640B85" ] + }, + "2": { + "description": "The background will be black (check a part after the text)", + "start": "0xD4EC00", + "size": "0x4000", + "expected_CRCs": [ "94640B85" ] + }, + "3": { + "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_hello_world/makefile b/frontends/calculator/CEdev/examples/gfx_hello_world/makefile new file mode 100644 index 0000000..1f1b36b --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_hello_world/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_hello_world/readme.md b/frontends/calculator/CEdev/examples/gfx_hello_world/readme.md new file mode 100644 index 0000000..24fed5e --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_hello_world/readme.md @@ -0,0 +1,10 @@ +### GraphX Hello World Demo + +This example of the graphics library demostrates filling the screen black and then printing `Hello World!` centered on the screen. + + + +--- + +This demo is a part of the C SDK Toolchain for use on the CE. + diff --git a/frontends/calculator/CEdev/examples/gfx_hello_world/screenshot.png b/frontends/calculator/CEdev/examples/gfx_hello_world/screenshot.png Binary files differnew file mode 100644 index 0000000..1a3f070 --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_hello_world/screenshot.png diff --git a/frontends/calculator/CEdev/examples/gfx_hello_world/src/main.c b/frontends/calculator/CEdev/examples/gfx_hello_world/src/main.c new file mode 100644 index 0000000..852120e --- /dev/null +++ b/frontends/calculator/CEdev/examples/gfx_hello_world/src/main.c @@ -0,0 +1,46 @@ +#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> + +#define FONT_HEIGHT 8 + +/* Function prototypes */ +void print_string_centered(const char *str); + +void main(void) { + const char *msg = "Hello World!"; + + /* Seed the random numbers */ + srand(rtc_Time()); + + /* Initialize the 8bpp graphics */ + gfx_Begin(); + + /* Fill the screen black */ + gfx_FillScreen(gfx_black); + + /* Set the random text color */ + gfx_SetTextFGColor(randInt(1, 255)); + + /* Print the message on the screen */ + print_string_centered(msg); + + /* Wait for a key to be pressed */ + while (!os_GetCSC()); + + /* Close the graphics */ + gfx_End(); +} + +/* Prints a screen centered string */ +void print_string_centered(const char *str) { + gfx_PrintStringXY(str, (LCD_WIDTH - gfx_GetStringWidth(str)) / 2, (LCD_HEIGHT - FONT_HEIGHT) / 2); +} |