Munching squares

This commit is contained in:
Toby Jaffey 2025-12-11 23:53:43 +00:00
parent e7485d5972
commit 2d07f6fcc0

View file

@ -1,21 +1,24 @@
#include "uvm32_target.h"
uint32_t *framebuffer = (uint32_t *)UVM32_EXTRAM_BASE;
uint32_t* framebuffer = (uint32_t*)UVM32_EXTRAM_BASE;
#define WIDTH 800
#define HEIGHT 600
void main(void) {
uint32_t col = 0x000000FF;
uint8_t c = 0;
uint8_t r = 0, g = 0, b = 0;
uint32_t framecount = 0;
while(1) {
for (int y=0;y<HEIGHT;y++) {
for (int x=0;x<WIDTH;x++) {
framebuffer[y*WIDTH+x] = col;
while (1) {
for (int y = 0; y < HEIGHT; y++) {
for (int x = 0; x < WIDTH; x++) {
r = ((x + framecount) ^ y);
g = (x ^ (y + framecount));
b = (x ^ y);
r += framecount;
g += framecount * 2;
b += framecount * 5;
framebuffer[y * WIDTH + x] = (r << 24) | (g << 16) | (b << 8) | 0xFF;
}
}
col = (c << 24) | (c << 16) | (c<<8) | 0xFF;
c++;
printdec(framecount++);
println("");
}