diff --git a/ChangeLog b/ChangeLog index f800003..317677c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -84,3 +84,8 @@ IDT Overhaul * Exception handler : actual crashdumps register when panic * PC Speaker : we can emit a little beep, and we have some music * RTC : basic timer wait() + +2019-05-08 @os-k-team + * Shell : basic shell that can beep, scroll up, scroll down and shutdwn + * Power management : implementation of shutdown on qemu, virtualbox etc + * Terminal : actual scroll up and down diff --git a/ProjectTree b/ProjectTree index d6432bb..9abb272 100644 --- a/ProjectTree +++ b/ProjectTree @@ -75,7 +75,8 @@ │   │   │   │   └── vga.o │   │   │   ├── ke │   │   │   │   ├── log.o -│   │   │   │   └── panic.o +│   │   │   │   ├── panic.o +│   │   │   │   └── shell.o │   │   │   ├── mm │   │   │   │   ├── gdt.o │   │   │   │   ├── heap.o @@ -158,6 +159,7 @@ │   │   ├── init │   │   │   ├── info.c │   │   │   ├── init.c +│   │   │   ├── init.h │   │   │   ├── ssp.c │   │   │   └── table.c │   │   ├── io @@ -169,7 +171,8 @@ │   │   │   └── vga.c │   │   ├── ke │   │   │   ├── log.c -│   │   │   └── panic.c +│   │   │   ├── panic.c +│   │   │   └── shell.c │   │   ├── mm │   │   │   ├── gdt.c │   │   │   ├── heap.c @@ -208,4 +211,4 @@ ├── ProjectTree └── README.md -39 directories, 144 files +39 directories, 147 files diff --git a/kaleid/kernel/ke/shell.c b/kaleid/kernel/ke/shell.c index afc77ba..20b7ee5 100644 --- a/kaleid/kernel/ke/shell.c +++ b/kaleid/kernel/ke/shell.c @@ -35,6 +35,9 @@ void KeStartShell(void) uchar ch; error_t rc; + KernLog("\nshell > "); + BFlushBuf(BStdOut); + while ((rc = bgetc(BStdIn, &ch)) == EOK) { switch (ch) { @@ -43,6 +46,9 @@ void KeStartShell(void) IoDoStarWars(); } else IoDoBeep(); + KernLog("beep"); + KernLog("\nshell > "); + BFlushBuf(BStdOut); break; case 17: // DC1 @@ -54,7 +60,6 @@ void KeStartShell(void) break; case 27: // ESC - BFlushBuf(BStdOut); PoShutdownQemu(); break; }