diff --git a/boredos.iso b/boredos.iso index 915dc41..84b6fce 100644 Binary files a/boredos.iso and b/boredos.iso differ diff --git a/build/graphics.o b/build/graphics.o index 9a6ee97..3484a2e 100644 Binary files a/build/graphics.o and b/build/graphics.o differ diff --git a/src/kernel/graphics.c b/src/kernel/graphics.c index cb9159e..d7c2112 100644 --- a/src/kernel/graphics.c +++ b/src/kernel/graphics.c @@ -372,34 +372,47 @@ void graphics_set_bg_image(uint32_t *pixels, int w, int h) { } void draw_boredos_logo(int x, int y, int scale) { + // Width: 60, Height: 16 + // 1: Magenta, 2: Blue, 3: Cyan, 4: White, 0: Deadspace + static const uint8_t boredos_bmp[] = { + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - static const uint8_t brewos_bmp[] = { - 0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0, - 0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0, - 1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1, - 1,1,1,1,2,2,2,2,2,2,2,2,1,1,1,1, - 1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1, - 1,1,2,2,2,1,1,2,2,1,1,2,2,2,1,1, - 1,1,2,2,1,1,1,1,1,1,1,1,2,2,1,1, - 1,1,2,2,1,1,1,1,1,1,1,1,2,2,1,1, - 1,1,2,2,1,1,1,1,1,1,1,1,2,2,1,1, - 1,1,2,2,2,1,1,2,2,1,1,2,2,2,1,1, - 1,1,2,2,2,2,2,1,1,2,2,2,2,2,1,1, - 1,1,2,2,2,2,2,2,2,2,2,2,2,2,1,1, - 1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1, - 0,1,1,1,2,2,2,2,2,2,2,2,1,1,1,0, - 0,0,1,1,1,2,2,2,2,2,2,1,1,1,0,0, - 0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0 + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + + 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }; - for (int r = 0; r < 16; r++) { - for (int c = 0; c < 16; c++) { - uint8_t p = brewos_bmp[r * 16 + c]; - if (p == 1) { - draw_rect(x + c * scale, y + r * scale, scale, scale, 0xFF1A1A1A); // rgb(26,26,26) - } else if (p == 2) { - draw_rect(x + c * scale, y + r * scale, scale, scale, 0xFFFEFEFE); // rgb(254,254,254) + const int bmp_w = 60; + const int bmp_h = 16; + + for (int r = 0; r < bmp_h; r++) { + for (int c = 0; c < bmp_w; c++) { + uint8_t p = boredos_bmp[r * bmp_w + c]; + if (p == 0) continue; + + uint32_t color = 0; + switch(p) { + case 1: color = 0xFFB589D6; break; // Magenta + case 2: color = 0xFF569CD6; break; // Blue + case 3: color = 0xFF4EC9B0; break; // Cyan + case 4: color = 0xFFFFFFFF; break; // White } + + draw_rect(x + (c * scale), y + (r * scale), scale, scale, color); } } }