ROW
fillw(d->color|(' '<<8), d->cp, base + COL * ROW - d->cp);
if (d->cx > ROW)
d->cx = ROW;
pp = base + COL * (ROW-2);
for (j = ROW - 1 - i; j--; pp -= COL)
memmove(pp, pp + COL, (ROW-1 - i)*COL*CHR);
fillw(d->color|(' '<<8), base + COL * (ROW - 1), COL);
fillw(d->color|(' '<<8), base, COL * ROW);
if (d->cp >= base + (COL * ROW)) { /* scroll check */
memmove(base, base + COL, COL * (ROW - 1) * CHR);
fillw(d->color|(' '<<8), base + COL * (ROW - 1), COL);
fillw(pccolor|(' '<<8), d->cp, COL * ROW);
d->row += ROW; /* prev column */
if (d->row >= ROW) {
fillw(d->color|(' '<<8), d->cp, base + COL * ROW - d->cp);
if (d->cx > ROW)
d->cx = ROW;
pp = base + COL * (ROW-2);
for (j = ROW - 1 - i; j--; pp -= COL)
memmove(pp, pp + COL, (ROW-1 - i)*COL*CHR);
fillw(d->color|(' '<<8), base + COL * (ROW - 1), COL);
fillw(d->color|(' '<<8), base, COL * ROW);
if (d->cp >= base + (COL * ROW)) { /* scroll check */
memmove(base, base + COL, COL * (ROW - 1) * CHR);
fillw(d->color|(' '<<8), base + COL * (ROW - 1), COL);
fillw(pccolor|(' '<<8), d->cp, COL * ROW);