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);
}
有帮助吗?

解决方案

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.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top