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/

Reply via email to