0

如何通过 x86 CPU 的 IO/端口访问 vesa 模式?我已经尝试过仅适用于博世的代码

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);
}
4

1 回答 1

3

你不能。VESA (VBE) 是一个标准的 BIOS 驱动程序框架,它为不同的视频卡提供单一接口。

要直接查看 I/O 端口或内存映射寄存器,您要么需要将自己限制在基本的 VGA 模式和功能上,要么需要了解特定视频卡的详细信息。

这当然是 VBE 最初设计要解决的问题。

于 2013-12-19T18:17:34.877 回答