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