Hi all, I have been working on a small hobby os for the past couple of weeks, nothing fantastic or special. Written in Asm using Nasm(16bit real mode), just wondering if i can use vesa modes from real mode just by calling the interupts, or do i need todo some fancy memory paging to be able to draw to the entire screen.
Any replys would be great, thanks.
In need of an Answer
-
carbonBased
RE:In need of an Answer
You can use VESA in real mode. Vesa 1.0 - 1.2 were designed exclusively for real mode - they have no direct support for pmode.
You can set modes with int 10h, and write to the standard buffer at 0xA000:0x0. However, if the video mode you enter contains more than a 64k framebuffer, you'll have to use banking (also provided by VESA through int 10h). You can't get access to the LFB from Vesa in real mode, unfortunately.
I wrote a chapter about Vesa programming (1.0 to 2.0) using DJGPP, but it may still be useful for you with Nasm. You can find it at http://www.neuraldk.org/cgi-bin/documen ... ppGraphics
Cheers,
Jeff
You can set modes with int 10h, and write to the standard buffer at 0xA000:0x0. However, if the video mode you enter contains more than a 64k framebuffer, you'll have to use banking (also provided by VESA through int 10h). You can't get access to the LFB from Vesa in real mode, unfortunately.
I wrote a chapter about Vesa programming (1.0 to 2.0) using DJGPP, but it may still be useful for you with Nasm. You can find it at http://www.neuraldk.org/cgi-bin/documen ... ppGraphics
Cheers,
Jeff