summaryrefslogtreecommitdiff
path: root/kernel/console.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/console.c')
-rw-r--r--kernel/console.c28
1 files changed, 26 insertions, 2 deletions
diff --git a/kernel/console.c b/kernel/console.c
index cdd2fc1..e0e70a3 100644
--- a/kernel/console.c
+++ b/kernel/console.c
@@ -4,12 +4,21 @@
#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"
-void console_init(){scr_clear();}
+void console_init(){
+ scr_clear();
+ log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"init console");
+ int inode_nr=ext2_filename_to_inode(EXT2_RAM_ADDRESS,"/binfont.bin");
+ if(inode_nr!=-1)ext2_inode_content(EXT2_RAM_ADDRESS,inode_nr,0x8000000,0xffff); // load font;
+}
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);}
@@ -24,8 +33,23 @@ void console_put_str_red(char *s){scr_put_string(s,SCR_RED);}
#include "video/vesa.h"
-void console_init(){uint32_t vesa_physbase=vesa_init(0x9300,0x9400,0x168000+512);}
+void console_init(){
+
+ int inode_nr=ext2_filename_to_inode(EXT2_RAM_ADDRESS,"/binfont.bin");
+ if(inode_nr!=-1)ext2_inode_content(EXT2_RAM_ADDRESS,inode_nr,0x1300000,0xffff); // load font;
+ uint32_t vesa_physbase=vesa_init(0xb000,0xc000,0x1300000);
+}
+
+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