Page 1 of 1
Virtual Consoles
Posted: Sun Apr 13, 2003 8:01 am
by shad
My vc's arent in video memory, they are allocated elsewhere then copied to vidmem when needed. Works perfectly in bochs, but on the cpu the cursor only shows up on some of my vc's. It doesnt seem like a logical error.
Re:Virtual Consoles
Posted: Mon Apr 14, 2003 2:43 am
by Tim
When you switch VCs, you need to move the cursor. The cursor location is set as an offset into video memory, so if the video card isn't showing the page where the cursor lies, you won't see the cursor.
Re:Virtual Consoles
Posted: Mon Apr 14, 2003 11:46 am
by shad
Yah i have the cursor for each vc in a struct along with is offscreen buffer, and i switch the cursor accordingly but it still doesnt work.
Re:Virtual Consoles
Posted: Mon Apr 14, 2003 12:51 pm
by Tim
Does the cursor show up when it's on a non-blank character cell? If your colour attributes are black-on-black (i.e. attribs == 0) then the cursor won't show up.
Re:Virtual Consoles
Posted: Mon Apr 14, 2003 3:02 pm
by shad
Nope. My attribute is white on black.
Re:Virtual Consoles
Posted: Mon Apr 14, 2003 3:04 pm
by shad
Wait, what if i clear the screen? Should the cursor sow up if all the characters are 0x0020 ?
Re:Virtual Consoles
Posted: Mon Apr 14, 2003 5:10 pm
by Tim
That's my point -- 0x00xx is black on black. The cursor assumes the foreground colour of the cell it occupies, so if it's on a black-on-black cell, you won't see it. Fill empty areas with 0x0720 (for light grey on black).
Re:Virtual Consoles
Posted: Mon Apr 14, 2003 6:03 pm
by shad
THANKS!