Virtual Consoles

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
shad

Virtual Consoles

Post 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.
Tim

Re:Virtual Consoles

Post 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.
shad

Re:Virtual Consoles

Post 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.
Tim

Re:Virtual Consoles

Post 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.
shad

Re:Virtual Consoles

Post by shad »

Nope. My attribute is white on black.
shad

Re:Virtual Consoles

Post by shad »

Wait, what if i clear the screen? Should the cursor sow up if all the characters are 0x0020 ?
Tim

Re:Virtual Consoles

Post 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).
shad

Re:Virtual Consoles

Post by shad »

THANKS!
Post Reply