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 был разработан для решения в первую очередь.