From a6184be79e3918764d5e683796afbd8e8ccba018 Mon Sep 17 00:00:00 2001 From: Michal Idziorek Date: Mon, 18 May 2015 09:20:01 +0200 Subject: fifo through ringbuffer(stdin) and vt52(stdout) finally working! --- terminal/vt52.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'terminal/vt52.c') diff --git a/terminal/vt52.c b/terminal/vt52.c index 66fd5f1..9197347 100644 --- a/terminal/vt52.c +++ b/terminal/vt52.c @@ -6,8 +6,8 @@ #include "vt52.h" #include "kernel/kmalloc.h" -#define VT52_WIDTH 80 -#define VT52_HEIGHT 25 +#define VT52_WIDTH 75 +#define VT52_HEIGHT 24 #define VT52_ESC_1 0x1b //ESC @@ -130,7 +130,7 @@ bool vt52_put(vt52_tty *tty, uint8_t c) case VT52_ERASE_SCR: for(uint32_t y=tty->y+1;yheight;y++) { - for(uint32_t x=0;xwidth-1;x++) + for(uint32_t x=0;xwidth;x++) { uint32_t c=tty->data[index(tty,x,y+1)]; tty->data[index(tty,x,y)] = c; @@ -139,7 +139,7 @@ bool vt52_put(vt52_tty *tty, uint8_t c) } case VT52_ERASE_LINE: - for(uint32_t x=tty->x;xwidth-1;x++) + for(uint32_t x=tty->x;xwidth;x++) { uint32_t c=tty->data[index(tty,x,tty->y)]; tty->data[index(tty,x,tty->y)] = c; @@ -165,7 +165,7 @@ bool vt52_put(vt52_tty *tty, uint8_t c) else { tty->y++; - tty->x=0; + tty->x=-1; } tty->x++; @@ -182,9 +182,10 @@ bool vt52_put(vt52_tty *tty, uint8_t c) tty->y--; for(uint32_t y=0;yheight;y++) { - for(uint32_t x=0;xwidth-1;x++) + for(uint32_t x=0;xwidth;x++) { uint32_t c=tty->data[index(tty,x,y+1)]; + if(y==tty->height-1)c=' '; tty->data[index(tty,x,y)] = c; tty->screen->put_char(c,0xf,x,y); } -- cgit v1.2.3