main
Eggert Jung 6 months ago
parent b61df61e36
commit 65514ec040

@ -12,6 +12,7 @@
#include "device/textstream.h"
#include "device/ps2controller.h"
#include "arch/ioapic.h"
#include "user/app1/appl.h"
TextStream kout = TextStream(0, 80, 0, 10, true);
@ -97,6 +98,8 @@ extern "C" int main() {
PS2Controller::drainBuffer();
Application{}.action();
while (true){
}

@ -1,6 +1,43 @@
// vim: set noet ts=4 sw=4:
#include "appl.h"
#include "../../device/ps2controller.h"
#include "../../object/outputstream.h"
#include "../../device/textstream.h"
char text[] = "Ich mag\n\
Saftige Pflaumen voller Aroma\n\
Ich ficke jede Oma ins Koma\n\
Ich bin Großmutterficker, Großmutterficker\n\
Ich bin Großmutterficker, ich bin Großmutterficker\n\
\n\
Saftige Pflaumen voller Aroma\n\
Ich ficke jede Oma ins Koma\n\
Ich bin Großmutterficker, Großmutterficker\n\
Ich bin Großmutterficker\n\
Und wacht sie aus'm Koma auf, kriegt sie von mir 'n Sticker\n\
\n";
extern TextStream kout;
void activeWaitDelay(uint64_t cycles) {
uint64_t counter = 0; // Use volatile to prevent optimization
for (uint64_t i = 0; i < cycles; ++i) {
counter++; // Simple operation to consume cycles
asm("nop");
}
}
void Application::action() { // NOLINT
uint16_t cnt = 0;
while (1) {
while(text[cnt++] != '\n'){
kout << text[cnt-1];
}
kout << endl << flush;
activeWaitDelay(1000000000);
if(cnt >= sizeof(text)-1)
cnt=0;
}
}

@ -18,7 +18,7 @@ class Application {
Application& operator=(const Application&) = delete;
public:
Application(Application&&) = default; // XXX: is this used anywhere?
Application() = default; // XXX: is this used anywhere?
/*! \brief Constructor
*

Loading…
Cancel
Save