Вопрос

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