Little colorful demo
This commit is contained in:
parent
1dce3a0cf7
commit
29f0253e5b
@ -70,28 +70,53 @@ extern "C" void _start()
|
||||
kinfoln("Prepared scheduler");
|
||||
|
||||
Scheduler::add_kernel_task([]() {
|
||||
int64_t x = 0;
|
||||
int64_t y = 0;
|
||||
int64_t xvel = 10;
|
||||
int64_t yvel = 10;
|
||||
while (1)
|
||||
{
|
||||
sleep(1000);
|
||||
for (int i = 0; i < 5; i++) { Serial::println("woo!"); }
|
||||
sleep(5);
|
||||
uint32_t color = (uint32_t)Mersenne::get();
|
||||
uint32_t* colptr = &color;
|
||||
x += xvel;
|
||||
y += yvel;
|
||||
if ((x + 10) >= framebuffer0.width())
|
||||
{
|
||||
xvel = -xvel;
|
||||
x = (framebuffer0.width() - 10);
|
||||
}
|
||||
if ((y + 10) >= framebuffer0.height())
|
||||
{
|
||||
yvel = -yvel;
|
||||
y = (framebuffer0.height() - 10);
|
||||
}
|
||||
if (xvel < 0 && (x - 10) < 0)
|
||||
{
|
||||
xvel = -xvel;
|
||||
x = 0;
|
||||
}
|
||||
if (yvel < 0 && (y - 10) < 0)
|
||||
{
|
||||
yvel = -yvel;
|
||||
y = 0;
|
||||
}
|
||||
framebuffer0.paint_rect(x, y, 10, 10, *(Color*)colptr);
|
||||
}
|
||||
});
|
||||
|
||||
Scheduler::add_kernel_task([]() {
|
||||
sleep(500);
|
||||
while (1)
|
||||
{
|
||||
sleep(2000);
|
||||
for (int i = 0; i < 6; i++) { Serial::println("boo!"); }
|
||||
sleep(200);
|
||||
uint32_t color = (uint32_t)Mersenne::get();
|
||||
uint32_t* colptr = &color;
|
||||
framebuffer0.paint_rect(Mersenne::get() % (framebuffer0.width() - 256),
|
||||
Mersenne::get() % (framebuffer0.height() - 256), Mersenne::get() % 255,
|
||||
Mersenne::get() % 255, *(Color*)colptr);
|
||||
}
|
||||
});
|
||||
|
||||
Scheduler::add_kernel_task([]() {
|
||||
sleep(20000);
|
||||
kinfoln("Here i am, the hard-to-get thread!");
|
||||
while (1) Scheduler::yield();
|
||||
});
|
||||
|
||||
kinfoln("Prepared scheduler tasks");
|
||||
|
||||
ACPI::SDTHeader* rootSDT = ACPI::GetRSDTOrXSDT();
|
||||
@ -104,6 +129,5 @@ extern "C" void _start()
|
||||
|
||||
kinfoln("Interrupts enabled");
|
||||
|
||||
sleep(20000);
|
||||
reboot();
|
||||
while (1) Scheduler::sleep(200);
|
||||
}
|
Loading…
Reference in New Issue
Block a user