// Video Card I/O ports
#define TEXT_INDEX 0x03D4
#define TEXT_DATA 0x03D5
// Video Card Index Registers
#define TEXT_CURSOR_LO 0x0F
#define TEXT_CURSOR_HI 0x0E
void update_cursor(uint x, uint y) {
short pos=y*sizex+x;
outb(TEXT_CURSOR_LO,TEXT_INDEX); // access lo cursor data reg
outb((char)pos,TEXT_DATA);
outb(TEXT_CURSOR_HI,TEXT_INDEX); // access hi cursor data reg
outb((char)(pos >> 8),TEXT_DATA);
}
// Hardware cursor update routine. (c)1997 Douglas Armstrong