// =====================================================
// Изменение формы курсора в текстовом режиме
//
// (C) Фролов А.В, 1997
//
// E-mail: frolov@glas.apc.org
// WWW:    http://www.glasnet.ru/~frolov
//            или
//         http://www.dials.ccas.ru/frolov
// =====================================================
#include <dos.h>
#include <stdio.h>
#include <conio.h>

union REGS reg;
void ms_tform(int type, int mask1, int mask2);

int main(void) 
{
  // Инициализируем мышь
  reg.x.ax = 0;
  int86(0x33, &reg, &reg);
  
  if(reg.x.bx == 0)
  {   
    printf("Mouse not found\n");
    return -1;
  }

  // Задаем новую форму для курсора мыши
  ms_tform(0, 0, 0x1418);

  // Включаем курсор
  reg.x.ax = 1;
  int86(0x33, &reg, &reg);
  getch();

  return 0;
}

void ms_tform(int type, int mask1, int mask2) 
{
  reg.x.ax = 0xA;
  reg.x.bx = type;
  reg.x.cx = mask1;
  reg.x.dx = mask2;

  int86(0x33,&reg,&reg);
}
