From 4ea5261f32ec8acd4cdad7c364f57e6ebc86866a Mon Sep 17 00:00:00 2001 From: Raymaekers Luca Date: Sat, 12 Jul 2025 16:13:16 +0200 Subject: checkpoint --- build.sh | 10 ++++++++++ graphics.c | 32 ++++++++++++++++++++++++++++++++ graphics.wasm | Bin 0 -> 834 bytes index.html | 42 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 84 insertions(+) create mode 100755 build.sh create mode 100644 graphics.c create mode 100755 graphics.wasm create mode 100644 index.html diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..79d0e2c --- /dev/null +++ b/build.sh @@ -0,0 +1,10 @@ +#!/bin/sh +printf 'graphics.c\n' +clang \ + --target=wasm32 \ + -O2 \ + -nostdlib \ + -Wl,--no-entry \ + -Wl,--export-all \ + -o graphics.wasm \ + graphics.c diff --git a/graphics.c b/graphics.c new file mode 100644 index 0000000..66a00bc --- /dev/null +++ b/graphics.c @@ -0,0 +1,32 @@ +typedef unsigned int u32; +typedef unsigned char u8; + +#define WIDTH 600 +#define HEIGHT 600 +u32 BUFFER[WIDTH * HEIGHT]; + +extern u8 __heap_base; +u32 BumpPointer = (u32)&__heap_base; + +void* Malloc(u32 Size) +{ + u32 Result = BumpPointer; + Result += Size; + return (void *)Result; +} + +void Free(u32 Size) +{ + BumpPointer -= Size; +} + +void go(u32 *Pixels, int Width, int Height) { + for(int Y = 0; Y < Height; Y++) + { + for(int X = 0; X < Width; X++) + { + u32 Color = 0xFFFF0000; + Pixels[Y*Width + X] = Color; + } + } +} diff --git a/graphics.wasm b/graphics.wasm new file mode 100755 index 0000000..5da2edf Binary files /dev/null and b/graphics.wasm differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..d2ab090 --- /dev/null +++ b/index.html @@ -0,0 +1,42 @@ + + + + + + + + + -- cgit v1.2.3-70-g09d2