diff options
| author | Aleksa Vučković <aleksav013@gmail.com> | 2021-10-25 22:41:21 +0200 |
|---|---|---|
| committer | Aleksa Vučković <aleksav013@gmail.com> | 2021-10-25 22:41:21 +0200 |
| commit | 39822cdb0acdd1eec66c2e18e0711fd3cd6f033d (patch) | |
| tree | 313eb08002f6e6e1c6564f2d411287745079da22 /src/c/tty.c | |
| parent | 20dd72e40dc2728d3c5335d860e4b8ab8da14fcc (diff) | |
Adding first 32 IRQs; PIT finally working
Diffstat (limited to 'src/c/tty.c')
| -rw-r--r-- | src/c/tty.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/c/tty.c b/src/c/tty.c index 5728a47..8516489 100644 --- a/src/c/tty.c +++ b/src/c/tty.c @@ -1,10 +1,12 @@ #include"../include/types.h" #include"../include/string.h" #include"../include/stdio.h" +#include"../include/vga.h" #define CMD_LENGTH 20 void clear(); +extern uint32_t time; size_t pieces(char pieces[][CMD_LENGTH],char *buffer) { @@ -61,6 +63,33 @@ void number(size_t numberof,char parts[][CMD_LENGTH]) } } +void uptime() +{ + printf("System uptime is: %d seconds\n",time); +} + +void prompt() +{ + printf("[user@myos] > "); +} + +void neofetch() +{ + set_color(VGA_COLOR_RED,VGA_COLOR_BLACK); + printf(" <*>\n"); + printf(" <*>\n"); + printf(" <*>\n"); + printf(" <*>\n"); + printf(" <*>\n"); + printf(" <*>\n"); + printf(" <*>\n"); + printf("<*******>\n"); + printf(" <***>\n"); + printf(" <*>\n"); + set_color(VGA_COLOR_LIGHT_GREY,VGA_COLOR_BLACK); + uptime(); +} + void tty(char *buffer) { char parts[CMD_LENGTH][CMD_LENGTH]; @@ -71,5 +100,8 @@ void tty(char *buffer) else if(stringcmp(parts[0],"merge")) merge(parts); else if(stringcmp(parts[0],"ls")) ls(numberof,parts); else if(stringcmp(parts[0],"number")) number(numberof,parts); + else if(stringcmp(parts[0],"uptime")) uptime(); + else if(stringcmp(parts[0],"neofetch")) neofetch(); else printf("command not found: %s\n",parts[0]); + prompt(); } |
