diff --git a/src/conio.c b/src/conio.c index 7ebf07a..0108c83 100644 --- a/src/conio.c +++ b/src/conio.c @@ -27,7 +27,7 @@ void _putch(char c) #endif } -void _cputs(char *ptr) +void _cputs(char *ptr) { if ( ptr == NULL ) { return; @@ -35,12 +35,9 @@ void _cputs(char *ptr) while ((char)*ptr != 0x0) { _putch((char)*ptr); if (*ptr == '\n') { - if ( _cursor_y < 24 ) _cursor_y += 1; - _cursor_x = 0; - setCursorPosition(_cursor_x, _cursor_y); - } else { - advanceCursor(); + _cursor_x = 80; } + advanceCursor(); ptr += 1; } return; @@ -81,10 +78,10 @@ char *_cgets(char *d) while ( scancode != 0 ) { if ( scancode == 0x0e ) { if ( d > orig ) { - backupCursor(); - setCursorPosition(_cursor_x, _cursor_y); - d -= 1; - _putch(0x0); + backupCursor(); + setCursorPosition(_cursor_x, _cursor_y); + d -= 1; + _putch(0x0); } } else if ( scancode == 0x1c ) { break; diff --git a/src/screen.c b/src/screen.c index 159f11e..ba88fc1 100644 --- a/src/screen.c +++ b/src/screen.c @@ -17,32 +17,6 @@ void blankScreen(void) } } -void scrollScreenUp(char start, char lines) -{ -#ifndef __GNUC__ -#asm - push bx; - mov bx, sp; - push ax; - push cx; - push dx; - mov ch, [bx+4]; - mov cl, #0x00; - mov dh, #0x18; - mov dl, #0x4F; - mov al, [bx+6]; - mov ah, #0x06; - mov bx, #0x0; - int 0x10; - pop dx; - pop cx; - pop ax; - pop bx; -#endasm - return; -#endif -} - void setCursorPosition(char x, char y) { #ifndef __GNUC__ @@ -79,9 +53,9 @@ void backupCursor() void advanceCursor() { _cursor_x += 1; - if ( _cursor_x > 79 ) { + if ( _cursor_x > 72 ) { _cursor_x = 0; - _cursor_y += 1; + if ( _cursor_y <= 23 ) _cursor_y += 1; } setCursorPosition(_cursor_x, _cursor_y); } diff --git a/src/screen.h b/src/screen.h index 4c95415..7b169d6 100644 --- a/src/screen.h +++ b/src/screen.h @@ -8,6 +8,5 @@ void setCursorPosition(char x, char y); void backupCursor(); void advanceCursor(); void blankScreen(); -void scrollScreenUp(char start, char lines); #endif /* _SCREEN_H_ */