Question

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);
}
Was it helpful?

Solution

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top