With the DOS ports of PDCurses, you can switch from direct video to BIOS writes by setting an environment variable called "PDCURSES_BIOS" (the value is not important). It mostly works, but there are usually a few stray characters on screen. (I've tried it with DJGPP 2.x and Turbo C++ 3.1, with the same results.) It turns out that the call to update the cursor position was not always being made. I removed these lines: if ((SP->cursrow == row) && (SP->curscol == col)) return( OK ); from PDC_gotoxy() in dos/pdcdisp.c, and I now get perfect output. Alternately, you could add the lines: SP->cursrow = row; SP->curscol = col; after the check, to ensure that they're updated; but I can't vouch for that solution. (I still don't understand why it works as it is for all but a few characters here and there.) -- William McBrine | http://www.clark.net/~wmcbrine/ [EMAIL PROTECTED] | Think.