From d98828d08eb1f6c1394f38a1df69c73fef0cfefa Mon Sep 17 00:00:00 2001 From: Michal Idziorek Date: Sun, 17 May 2015 19:43:59 +0200 Subject: working on vt52 and some cleanup --- xxx/inactive/console.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++ xxx/inactive/console.h | 20 +++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 xxx/inactive/console.c create mode 100644 xxx/inactive/console.h (limited to 'xxx/inactive') diff --git a/xxx/inactive/console.c b/xxx/inactive/console.c new file mode 100644 index 0000000..dc9b90e --- /dev/null +++ b/xxx/inactive/console.c @@ -0,0 +1,59 @@ +/* +// 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/xxx/inactive/console.h b/xxx/inactive/console.h new file mode 100644 index 0000000..a153968 --- /dev/null +++ b/xxx/inactive/console.h @@ -0,0 +1,20 @@ +/* +#ifndef CONSOLE_H +#define CONSOLE_H + +#include + +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 +*/ -- cgit v1.2.3