summaryrefslogtreecommitdiff
path: root/video/console.c
diff options
context:
space:
mode:
Diffstat (limited to 'video/console.c')
-rw-r--r--video/console.c195
1 files changed, 0 insertions, 195 deletions
diff --git a/video/console.c b/video/console.c
deleted file mode 100644
index b6958c5..0000000
--- a/video/console.c
+++ /dev/null
@@ -1,195 +0,0 @@
-#include "console.h"
-#include "kernel/config.h"
-
-//#define FOOLOS_CONSOLE
-
-static int posx=0;
-static int posy=0;
-
-static void scr_nextline();
-
-void update_cursor(uint32_t col,uint32_t row)
-{
- unsigned short position=(row*80) + col;
-
- // cursor LOW port to vga INDEX register
- x86_outb(0x3D4, 0x0F);
- x86_outb(0x3D5, (unsigned char)(position&0xFF));
- // cursor HIGH port to vga INDEX register
- x86_outb(0x3D4, 0x0E);
- x86_outb(0x3D5, (unsigned char )((position>>8)&0xFF));
- }
-
-
-// helper_funcs
-static void print_char_col(int x, int y, char c, char col)
-{
-
- #ifdef FOOLOS_CONSOLE
- char* video_mem=(char *)SCR_VIDEOMEM+(x+y*SCR_REAL_WIDTH)*2;
- video_mem[0]=c;
- video_mem[1]=col;
- #endif
-
-}
-
-// glue func for vt52 terminal
-void console_put_char(uint8_t c,uint8_t color, uint32_t x, uint32_t y)
-{
-
- print_char_col(x,y,c, color);
-}
-//
-//
-static void print_char(int x, int y, char c)
-{
- print_char_col(x,y,c,SCR_WHITE);
-}
-
-static void print_single_num(int i)
-{
- if(i<10)print_char_col(posx,posy,'0'+i,SCR_GREEN);
- else if(i<16)print_char_col(posx,posy,'A'+i-10,SCR_GREEN);
- posx++;
- if(posx>=SCR_WIDTH)scr_nextline();
-
-}
-
-static void print_str_col(int x,int y,char *str, char col)
-{
-
- while(*str!=0)
- {
- print_char_col(x++,y,*(str++),col);
- }
-
-}
-
-static void print_str(int x,int y,char *str)
-{
- print_str_col(x,y,str,SCR_WHITE);
-}
-
-
-//
-//
-void scr_clear()
-{
- int x,y;
-
- for(x=0;x<SCR_WIDTH+1;x++)
- for(y=0;y<SCR_HEIGHT;y++)
- {
- if(x==SCR_WIDTH)print_char_col(x,y,'|',SCR_BLUE);
- else print_char_col(x,y,' ',SCR_BLUE);
-
-
- }
-
- posx=posy=0;
-
-}
-/*
-void scr_put_string_nl(char *str)
-{
- scr_put_string(str);
- scr_nextline();
-}
-*/
-
-static void scr_nextline()
-{
-#ifdef FOOLOS_CONSOLE
- int i,x;
-
- posx=0;
- posy++;
-
- if(posy>SCR_HEIGHT-2)
- {
- for(i=1;i<SCR_HEIGHT-1;i++)
- {
-
- for(x=0;x<SCR_WIDTH+1;x++)
- {
- char* video_mem=(char *)SCR_VIDEOMEM+((x)+(i-1)*SCR_REAL_WIDTH)*2;
- char* video_mem2=(char *)SCR_VIDEOMEM+((x)+i*SCR_REAL_WIDTH)*2;
- *video_mem=*video_mem2;
- *(video_mem+1)=*(video_mem2+1);
- //clear last line
- if(i==SCR_HEIGHT-2)
- {
- if(x==SCR_WIDTH)print_char_col(x,i,'|',SCR_BLUE);
- else print_char_col(x,i,' ',SCR_BLUE);
-
-
- }
- }
- }
-
- posy--;
- }
-#endif
-}
-
-static void scr_put_char(char ch,char col)
-{
-
- if(ch=='\n')scr_nextline();
- else if(posx<SCR_WIDTH)
- {
- print_char_col(posx,posy,ch,col);
- posx++;
- }
-
-#ifdef FOOLOS_CONSOLE_AUTOBREAK
- if(posx>=SCR_WIDTH)scr_nextline();
-#endif
-
-}
-
-/*
-void scr_put_hex(uint16_t val)
-{
-
- int i;
-
- scr_put_string("0x");
-
- for(i=0;i<4;i++)
- {
- print_single_num((val&0xf000)>>12);
- val=val << 4;
-
- }
-
-
-}
-*/
-
-/*
-void scr_put_hex32(uint32_t val)
-{
- scr_put_string("[");
- scr_put_hex(val>>16);
- scr_put_string(",");
- scr_put_hex(val&0xffff);
- scr_put_string("]");
-}
-*/
-
-static void scr_put_string(char *str, char col)
-{
- while(*str!=0)
- {
- scr_put_char(*(str++),col);
- }
-}
-
-static void scr_backspace()
-{
- if(posx==0)return;
- print_char_col(posx-1,posy,' ',SCR_LGREEN);
- posx--;
-
-}