diff -ru grub-0.92.orig/stage2/builtins.c grub-0.92/stage2/builtins.c --- grub-0.92.orig/stage2/builtins.c 2002-06-25 17:58:03.000000000 -0300 +++ grub-0.92/stage2/builtins.c 2002-06-25 17:36:23.000000000 -0300 @@ -4856,6 +4856,7 @@ view_y0 = y0; view_x1 = x1; view_y1 = y1; + max_lines = view_y1 - view_y0; if (flags == BUILTIN_CMDLINE && vga_inited) { display->End(); Only in grub-0.92/stage2: builtins.c~ diff -ru grub-0.92.orig/stage2/char_io.c grub-0.92/stage2/char_io.c --- grub-0.92.orig/stage2/char_io.c 2002-06-25 17:58:03.000000000 -0300 +++ grub-0.92/stage2/char_io.c 2002-06-25 17:53:31.000000000 -0300 @@ -460,7 +460,7 @@ /* Fill up the rest of the line with spaces. */ for (; i < start + len; i++) { - grub_putchar (' '); + putchar (' '); pos++; } diff -ru grub-0.92.orig/stage2/stage2.c grub-0.92/stage2/stage2.c --- grub-0.92.orig/stage2/stage2.c 2002-06-25 17:58:03.000000000 -0300 +++ grub-0.92/stage2/stage2.c 2002-06-25 18:07:39.000000000 -0300 @@ -217,10 +217,10 @@ ) # endif { - for (i = 0; i < 12; i++) + for (i = 0; i < 14; i++) { int j; - for (j = view_x0; j < (view_x1 - view_x0) - 5; j++) + for (j = view_x0; j < view_x1 - 5; j++) { gotoxy (j + 1, i + y); set_attrib (normal_color); @@ -232,7 +232,7 @@ gotoxy (view_x0 + 1, y); putchar (disp_ul); - for (i = 0; i < view_x1 - 7; i++) + for (i = view_x0; i < view_x1 - 7; i++) putchar (disp_horiz); putchar (disp_ur); @@ -1448,6 +1448,11 @@ cursor(1); return; } + else if (ch == '\b') { + if (fontx < view_x0) + SetXY(fontx - 1, fonty); + return; + } text[fonty * 80 + fontx] = ch;