VESA через IO/ порт

Как я могу получить доступ к режимам vesa через IO/Port для процессора x86? Я уже пробовал код, который работает только на 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 ответ

Решение

Ты не можешь VESA (VBE) - это стандартная структура драйвера BIOS, которая обеспечивает единый интерфейс для разрозненных видеокарт.

Чтобы напрямую ткнуть в порты ввода-вывода или в регистры с отображением в памяти, вам нужно либо ограничиться базовыми режимами и функциями VGA, либо знать точные детали вашей конкретной видеокарты.

Это, конечно, была проблема, которую VBE был разработан для решения в первую очередь.

Другие вопросы по тегам