From f4cfc6f64b28e63dda72e82798eff6af7cfc0283 Mon Sep 17 00:00:00 2001 From: shockrah Date: Thu, 5 Dec 2019 02:45:19 -0800 Subject: [PATCH] adding base shell implementation(but its busted atm) --- shell.c | 37 +++++++++++++++++++++++++++++++++++++ shell.h | 5 +++++ 2 files changed, 42 insertions(+) create mode 100644 shell.c create mode 100644 shell.h diff --git a/shell.c b/shell.c new file mode 100644 index 0000000..3ada788 --- /dev/null +++ b/shell.c @@ -0,0 +1,37 @@ +#include "shell.h" +#include "stlio.h" +#include "mem.h" +#include "pit.h" + +char line[LINE_LENGTH]; +void jmain(void) { + memset((u8*)line, 0x00, LINE_LENGTH); + while(1) { + printf("jos % "); + read(line, LINE_LENGTH); + printf("\n"); + //asm("xchg bx, bx"); + if(!strcmp("break", line)) { + printf("breaking out"); + memset((u8*)line, 0x00, LINE_LENGTH); + } + else if(!strcmp("timer", line)) { + printf("Time tick: "); + printhex(pit_timer_ticks); + memset((u8*)line, 0x00, LINE_LENGTH); + } + else { + printf("Attempting a second read: "); + read(line, LINE_LENGTH); + printf(line); + } + } +} + +void strip_newline(char* line) { + for(u32 i = 0;i