From 589b3f9d4b235bef93a8c2b0736c60535c143eb2 Mon Sep 17 00:00:00 2001 From: Alex Date: Tue, 25 Oct 2022 05:05:10 +0300 Subject: [PATCH] Multitasking test code --- KThread.cpp | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/KThread.cpp b/KThread.cpp index 550444a8..2bef6de9 100644 --- a/KThread.cpp +++ b/KThread.cpp @@ -1,11 +1,48 @@ #include "kernel.h" #include +#include void KernelMainThread() { KPrint("Kernel main thread started!"); // asm("int $0x1"); + + KPrint("\e22AA11Starting color test."); + uint32_t Color = 0x000000; + int itrupd = 0; + int BoxSize = 64; + + while (1) + { + Color++; + itrupd++; + + Display->SetBufferCursor(0, 0, 0); + + for (int i = 0; i < BoxSize; i++) + for (int j = 0; j < BoxSize; j++) + Display->SetPixel(i, j, Color, 0); + + int r = (Color >> 16) & 0xFF; + int g = (Color >> 8) & 0xFF; + int b = (Color >> 0) & 0xFF; + printf_("\e%02x%02x%02x0x%06X", + 255 - r, 255 - g, 255 - b, + Color); + + if (itrupd == BoxSize) + itrupd = 0; + + if (itrupd == 0) + Display->SetBuffer(0); + + if (Color > 0xFFFFFF) + break; + } + + KPrint("\e22AA11Color test finished."); + while (1) CPU::Halt(); }