add app
This commit is contained in:
3
main.cc
3
main.cc
@@ -12,6 +12,7 @@
|
|||||||
#include "device/textstream.h"
|
#include "device/textstream.h"
|
||||||
#include "device/ps2controller.h"
|
#include "device/ps2controller.h"
|
||||||
#include "arch/ioapic.h"
|
#include "arch/ioapic.h"
|
||||||
|
#include "user/app1/appl.h"
|
||||||
|
|
||||||
TextStream kout = TextStream(0, 80, 0, 10, true);
|
TextStream kout = TextStream(0, 80, 0, 10, true);
|
||||||
|
|
||||||
@@ -97,6 +98,8 @@ extern "C" int main() {
|
|||||||
|
|
||||||
PS2Controller::drainBuffer();
|
PS2Controller::drainBuffer();
|
||||||
|
|
||||||
|
Application{}.action();
|
||||||
|
|
||||||
while (true){
|
while (true){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,43 @@
|
|||||||
// vim: set noet ts=4 sw=4:
|
// vim: set noet ts=4 sw=4:
|
||||||
|
|
||||||
#include "appl.h"
|
#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
|
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;
|
Application& operator=(const Application&) = delete;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Application(Application&&) = default; // XXX: is this used anywhere?
|
Application() = default; // XXX: is this used anywhere?
|
||||||
|
|
||||||
/*! \brief Constructor
|
/*! \brief Constructor
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user