Search code examples
assemblyx86operating-systemprotected-mode

Changing the cursor size assembly 32-bit protected mode


I am building an operating system in assembly. I know how to move the cursor through the CRT microcontroller (ports 0x3D4-0x3D5) but I don’t know how to change the size.

Also can I create a vertical cursor in text mode (like windows cursor)?

Any ideas?


Solution

  • No, in text mode you can't make hardware caret look like | and in general expect that much from bare metal with VGA, if you meant that under windows likelihood. You can only make it block-like. See this.

    Optionally, you might also use BIOS services (int 0x10, function ah = 1, with ch holding start scanline and cl - end scanline) if not in PM, say on the very early stage just before jumping into PM.