diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/config.h | 2 | ||||
| -rw-r--r-- | kernel/console.c | 60 | ||||
| -rw-r--r-- | kernel/console.h | 19 | ||||
| -rw-r--r-- | kernel/interrupts.c | 1 | ||||
| -rw-r--r-- | kernel/kernel.c | 23 | ||||
| -rw-r--r-- | kernel/keyboard.c | 1 | ||||
| -rw-r--r-- | kernel/syscalls.c | 5 | ||||
| -rw-r--r-- | kernel/task.c | 1 |
8 files changed, 19 insertions, 93 deletions
diff --git a/kernel/config.h b/kernel/config.h index 74304d8..0a6fd3c 100644 --- a/kernel/config.h +++ b/kernel/config.h @@ -8,7 +8,7 @@ #define FOOLOS_CONFIG_H #define FOOLOS_CONSOLE_AUTOBREAK // add newline automatically at end of line -#define FOOLOS_LOG_OFF // do not log anything +#define FOOLOS_LOG_OFF // do not log anything #define FOOLOS_CONSOLE // otherwise VESA will be used! #define FOOLSOS_SHOW_VESAMODES #define MEM_PRINT_MEMORYMAP diff --git a/kernel/console.c b/kernel/console.c deleted file mode 100644 index 593801a..0000000 --- a/kernel/console.c +++ /dev/null @@ -1,60 +0,0 @@ -// http://invisible-island.net/xterm/ctlseqs/ctlseqs.html -// http://invisible-island.net/vttest/ -// http://www.xfree86.org/4.7.0/ctlseqs.html - - -#include "kernel/config.h" -#include "lib/logger/log.h" -#include "fs/ext2.h" - - -#define FOOLOS_MODULE_NAME "console" - -#ifdef FOOLOS_CONSOLE - -#include "video/console.h" - -uint32_t console_init(){ - scr_clear(); - return 0; -} - -void console_del_char(){scr_backspace();} -void console_put_char_gray(char c){scr_put_char(c,SCR_GRAY2);} -void console_put_char_white(char c){scr_put_char(c,SCR_WHITE);} -void console_put_char_green(char c){scr_put_char(c,SCR_GREEN);} -void console_put_char_red(char c){scr_put_char(c,SCR_RED);} - -void console_put_str_gray(char *s){scr_put_string(s,SCR_GRAY2);} -void console_put_str_white(char *s){scr_put_string(s,SCR_WHITE);} -void console_put_str_green(char *s){scr_put_string(s,SCR_GREEN);} -void console_put_str_red(char *s){scr_put_string(s,SCR_RED);} - -#else - -#include "video/vesa.h" - -uint32_t console_init(uint32_t mode, uint32_t control){ - - int inode_nr=ext2_filename_to_inode(EXT2_RAM_ADDRESS,"/binfont.bin"); - ext2_inode_content(EXT2_RAM_ADDRESS,inode_nr,0x700000,0xffff); // load font; - //uint32_t vesa_physbase=vesa_init(0xb000,0xc000,0x700000); - uint32_t vesa_physbase=vesa_init(mode,control,0x700000); - return vesa_physbase; -} - -void console_del_char(char c){PutConsoleChar('*',0xffffff);} -void console_put_char(char c){PutConsoleChar(c,0xffffff);} -void console_put_char_gray(char c){PutConsoleChar(c,0xffffff);} -void console_put_char_white(char c){PutConsoleChar(c,0xffffff);} -void console_put_char_green(char c){PutConsoleChar(c,0xffffff);} -void console_put_char_red(char c){PutConsoleChar(c,0xffffff);} -void console_put_str(char *s){PutConsole(s,0xffffff);} -void console_put_str_gray(char *s){PutConsole(s,0xffffff);} -void console_put_str_white(char *s){PutConsole(s,0xffffff);} -void console_put_str_green(char *s){PutConsole(s,0xffffff);} -void console_put_str_red(char *s){PutConsole(s,0xffffff);} - -#endif - - diff --git a/kernel/console.h b/kernel/console.h deleted file mode 100644 index 4c56a5a..0000000 --- a/kernel/console.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef CONSOLE_H -#define CONSOLE_H - -#include <stdint.h> - -uint32_t console_init(); -void console_put_char(uint8_t c,uint8_t color, uint32_t x, uint32_t y); -void console_put_char_white(char); -void console_put_char_red(char); -void console_put_char_green(char); -void console_put_char_gray(char); -void console_put_str_white(char *); -void console_put_str_red(char *); -void console_put_str_green(char *); -void console_put_str_gray(char *); -void console_del_char(); - - -#endif diff --git a/kernel/interrupts.c b/kernel/interrupts.c index d75ec4d..a7eae81 100644 --- a/kernel/interrupts.c +++ b/kernel/interrupts.c @@ -4,7 +4,6 @@ #include "asm/asm.h" #include "interrupts.h" -#include "console.h" #include "x86.h" void errlog(uint32_t error_code) diff --git a/kernel/kernel.c b/kernel/kernel.c index 0a4b863..de435c5 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -18,19 +18,17 @@ #include "interrupts.h" #include "multiboot.h" -#include "console.h" #include <stddef.h> // for built-in shell #include "lib/buffer/ringbuffer.h" #include "task.h" -#include "video/vesa.h" +#include "video/console.h" #include "multiboot.h" #include "terminal/vt52.h" - // // The Foolish structure of Fool OS! // @@ -45,15 +43,26 @@ fool_os *get_fool() void kernel_main(uint32_t eax,uint32_t ebx) { - // - // Setup main tty + // Setup terminal output // - scr_clear(); - term_screen screen; + term_out screen; screen.put_char=console_put_char; + screen.update_cursor=update_cursor; + vt52_tty tty=vt52_init(&screen); + get_fool()->tty1=&tty; + + // + // Setup terminal input + // + /* + term_in keyboard; + kb.get_char=console_put_char; + screen.update_cursor=update_cursor; vt52_tty tty=vt52_init(&screen); get_fool()->tty1=&tty; + */ + // diff --git a/kernel/keyboard.c b/kernel/keyboard.c index 0274748..b586d0f 100644 --- a/kernel/keyboard.c +++ b/kernel/keyboard.c @@ -1,7 +1,6 @@ #define FOOLOS_MODULE_NAME "keyboard" #include "x86.h" -#include "console.h" #include "lib/buffer/ringbuffer.h" #include "lib/logger/log.h" // logger facilities diff --git a/kernel/syscalls.c b/kernel/syscalls.c index 6bd51d1..1d63ba4 100644 --- a/kernel/syscalls.c +++ b/kernel/syscalls.c @@ -4,7 +4,6 @@ #include "lib/logger/log.h" #include "fs/fs.h" #include "fs/ext2.h" -#include "kernel/console.h" #include "kernel/kernel.h" #include "kernel/config.h" #include "terminal/vt52.h" @@ -84,7 +83,7 @@ int syscall_read(int file, char *buf, int len) { if(l>0) { - console_del_char(); + //console_del_char(); buf--; l--; } @@ -94,7 +93,7 @@ int syscall_read(int file, char *buf, int len) *buf=c; buf++; l++; - if(c!=0x04)console_put_char_white(c); + //if(c!=0x04)console_put_char_white(c); if(c=='\n')return l; if(c==0x04) { diff --git a/kernel/task.c b/kernel/task.c index 495817c..36ccafe 100644 --- a/kernel/task.c +++ b/kernel/task.c @@ -6,7 +6,6 @@ #include "lib/buffer/ringbuffer.h" #include "mem.h" #include "timer.h" -#include "console.h" #include "x86.h" #include "vmem.h" |
