summaryrefslogtreecommitdiff
path: root/kernel/console.c
blob: 0a208bb4a04b2a51a4693c434a008a191e819861 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
// 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();
    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;
    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(){

    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);
    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