Alex McHale wrote:

> Hi there,
>   I realize that the following question isn't directly related to LinuxBIOS - but 
>I'm hoping that someone out there can help me, nonetheless.
>   I'm working on replacing some commonly used BIOS interrupts with my own code - 
>most of which is easy enough (This is for a private project of my own that I am 
>working on for non-school academic reasons) - prints, keyboard routines, disk 
>routines, .., all fairly simple.  But I've come to a small hitch.
>   The set cursor position interrupt - 0x10,2.  I have located the address in memory 
>where the cursor position is stored, and have code right now to update that memory 
>address.  Unfortunately, in my work, it doesn't update the visual cursor cue on 
>screen when that memory is updated.  If I use a BIOS call to fetch keyboard data 
>after I use *my* code that updates the cursor position in memory, the cursor will 
>'jump' to that position when I start typing.  Otherwise, it visually stays in its 
>position.
>   Could anyone help me with figuring out how to send whatever cue I need to send to 
>refresh the visual cursor?
>   As a side note:  In DOS, using debug, if I write directly to the memory where 
>cursor data is stored, it "instantly" moves the cursor as soon as I hit enter to 
>register the 'e <addr> val'.
>   Any assistance would be greatly appreciated.
>
> --
> Alex McHale
> http://theorigin.org/
> C/C++, Haskell, Perl, PHP, Python, Ruby

What you need to do is update the registers in the video card that draw the visible 
cursor at
the same time you update the values in memory.  Take a look at linux vga console code 
for examples.

Cheers,

Jeremy

Reply via email to