VESA via IO/Port

699 views Asked by At

How can i access vesa modes via IO/Port for x86 CPU? I already tried a code which works only on Bosch

private static void SetVideoMode(ushort width, ushort height, ushort depth)
{    
    WriteCommand(0x4, 0x00);
    WriteCommand(0x1, width);
    WriteCommand(0x2, height);
    WriteCommand(0x3, depth); 
    WriteCommand(0x4, 0x1 | 0x40 );
    PortIO.Outb(0x3c0, 0x20);
}
1

There are 1 answers

5
doynax On BEST ANSWER

You can't. VESA (VBE) is a standard BIOS driver framework which provides a single interface to disparate video cards.

To directly poke at the I/O ports or memory-mapped registers you will either need to restrict yourself to basic VGA modes and functionality or know the precise details of your particular video card.

This, of course, was the problem VBE was designed to solve in the first place.