Hello!
My problem is that cursor in my OS gets a bit crazy after calling this funtion:
Code:
void VGA_enable_cursor()
{
int cursor_start = 13;
int cursor_end = 14;
outb(VGA.IO_Port_RegisterIndex, 0x0A);
outb(VGA.IO_Port_DataRegister, (inb(0x3D5) & 0xC0) | cursor_start);
outb(VGA.IO_Port_RegisterIndex, 0x0B);
outb(VGA.IO_Port_DataRegister, (inb(0x3E0) & 0xE0) | cursor_end);
}
After I call this function the cursor moves by 4 spaces to the right and when it's in the first row it takes up 4 spaces. It only happens on a real hardware but works just fine on Quemu and Bochs emulators.
Is it something I can fix?