goto_xy(x,y); /* перемещение курсора */
/* чтение текущей позиции курсора */
void read_cursor_xy(x,y)
char *x,*y;
union REGS r;
r.h.ah = 3; /* чтение позиции курсора */
r.h.bh = 0; /* видеостраница 0 */
int86(0x10,&r,&r);
*y = r.h.dl;
*x = r.h.dh;
/* установка палитры */
void palette(pnum)
int pnum;
union REGS r;
r.h.bh = 1; /* код для графического режима 4 */
r.h.bl = pnum;
r.h.ah = 11; /* функция установки палитры */
int86(0x10,&r,&r);
/* установка видеорежима */
void mode(mode_code)
int mode_code;
union REGS r;
r.h.al = mode_code;
r.h.ah = 0;
int86(0x10,&r,&r);
/* перемещение курсора в позицию x,y */
void goto_xy(x,y)
int x,y;
union REGS r;
r.h.ah = 2; /* функция адресации курсора */
r.h.dl = x; /* координаты столбца */
r.h.dh = y; /* координаты строки */
r.h.bh = 0; /* видеостраница 0 */
int86(0x10,&r,&r);
/* установка размера (формы) курсора */
void size_cursor(start,end)
char start,end; /* начальная и конечная строки
развертки */
union REGS r;
r.h.ah = 1; /* функция адресации курсора */
r.h.ch = start;
r.h.cl = end;
int86(0x10,&r,&r);
/* скроллинг в окне вперед и назад */
void scroll_window(startx,starty,endx,endy,lines,direct)
char startx,starty; /* верхний левый угол */
char endx,endy; /* нижний правый угол */
char lines; /* мощность скроллинга */
char direct; /* вверх или вниз */
union REGS r;
if ( direct == UP ) r.h.ah = 6; /* скроллинг вверх */
else r.h.ah = 7; /* скроллинг вниз */
r.h.al = lines;
r.h.ch = starty;
r.h.cl = startx;
r.h.dh = endy;
r.h.dl = endx;
r.h.bh = 0; /* режим отображения */
int86(0x10,&r,&r);