Re: Odd video modes
Posted: Sun Dec 28, 2008 6:57 pm
Same here, someone'll complain about it if we don't!
VBE standard wrote: 4.10. Function 07h - Set/Get Display Start
This required function selects the pixel to be displayed in the upper
left corner of the display. This function can be used to pan and
scroll around logical screens that are larger than the displayed
screen. This function can also be used to rapidly switch between two
different displayed screens for double buffered animation effects.
Input: AX = 4F07h VBE Set/Get Display Start Control
BH = 00h Reserved and must be 00h
BL = 00h Set Display Start
= 01h Get Display Start
= 80h Set Display Start during Vertical
Retrace
CX = First Displayed Pixel In Scan Line
(Set Display Start only)
DX = First Displayed Scan Line (Set Display Start
only)
Output: AX = VBE Return Status
BH = 00h Reserved and will be 0 (Get Display Start
only)
CX = First Displayed Pixel In Scan Line (Get Display
Start only)
DX = First Displayed Scan Line (Get Display
Start only)
Note: This function is also valid in text modes. To use this
function in text mode, the application should convert the character
coordinates to pixel coordinates by using XCharSize and YCharSize
returned in the ModeInfoBlock. If the requested Display Start
coordinates do not allow for a full page of video memory or the
hardware does not support memory wrapping, the Function call should
fail and no changes should be made. As a general case, if a requested
Display Start is not available, fail the Function call and make no
changes.
I already did, previous postno wait, i know you wont tell me
He (most likely) found it using google. If you would search for either "VBE standard" or a part of the text you will find it (I found it that way in under 10 seconds) and no I wont provide you with a direct link. Try searching a bit and reading the specifications, because if you expect everyone to serve everything for you, you wont get far.GhostXoPCorp wrote:now where did you find that? no wait, i know you wont tell me
800x600 VESA is a graphics mode though, indeed making scrolling rather slow (if you are scrolling by copying video memory). On a standard VGA, it's possible to have a width of 800 pixels, iirc, but it may not be entirely portable.piranha wrote:My OS does 100x75.
800x600 vesa mode with an 8x8 font. There are a few bugs to work out, sometimes characters aren't displayed if typed too fast, and scrolling is horrendously slow.
I take it you are copying the entire lower 720 lines 80 bytes up, which, depending on the bpp, may take quite some time (if you have 800x600x16 it can be done fairly quickly with the right read/write modes, i.e. 32 pixels at a time, but with 256 colour let alone true colour modes, it all becomes rather slow).Actually, thats a question, if someone cares to answer, is there a faster way to scroll in such a video mode?
And the video mode numbers are no longer standardized but free to choose...(there's a 132x60 at least, mode 0x10c).