【问题标题】:How to get widescreen resolution in VBE如何在 VBE 中获得宽屏分辨率
【发布时间】:2014-07-03 12:28:57
【问题描述】:

我正在编写图形采用者驱动程序。我知道 VBE 提供 1024×768 或 800×600 等分辨率。我的问题是如何在 VESA BIOS 中获得 1366×768 等宽屏分辨率?,应该使用哪个 BIOS 功能?请给我 1366x786(或其他)的模式功能编号,例如 0117h 用于 1024x768 16 位颜色。我正在使用 x86 程序集和 VBE3。

【问题讨论】:

    标签: assembly driver bios vbe widescreen


    【解决方案1】:

    如果您使用 VBE,您应该熟悉模式列表函数 4F004F01。如果您的 BIOS 提供,请使用这些来找到合适的自定义模式。否则,您可能会尝试使用更高分辨率的模式传入限制垂直大小的覆盖 CRTC 参数。但是,不能保证这会奏效。

    【讨论】:

    • VBE3的CRCT参数只能改变时序(如刷新率),排除“双扫描模式”不能改变分辨率。双扫描模式将分辨率减半。基本上;如果不良软件错误地认为像素是正方形的,那么这将无助于修复不良软件。
    • 既然可以指定HTotalVTotal,理论上应该也可以改变可见分辨率。
    • 使用 HTotal 和 VTotal 我们只能改变分辨率的位置,使屏幕在可见区域居中,但不能用它改变分辨率。
    【解决方案2】:

    所有信息都在 vesa.orgvbe3.pdf 中:“注意:从 VBE 2.0 版开始,VESA 将不再定义新的 VESA 模式编号和不再强制支持这些旧模式号。”

    但一些较新的 PCIe 卡,如我的 Nvidia GTX 295(来自制造商 Colofull)和我的 Radeon 7950(Saphire)也允许我使用它们的宽屏视频模式,但模式编号不同,并且因 BIOS 和 Bios 和制造商而异。最后,我想分享上面这两张卡的模式表。

    第一步是调用函数 4F00h,用于在 512 字节的缓冲区中获取 VBE-Info。如果调用成功,则返回 AX 中的 4Fh。

    下一步是检查地址缓冲区+5 处的 VBE BIOS 的主要版本号,如果值为 2 或 3 或 1。从 VBE 2 开始,我们必须从 VBE Bios 本身获取模式号.

    下一步是从地址中获取模式表的指针:buffer+0Eh,通过这个指针我们可以获取模式编号。每个模式号都是 16 位的,模式表以 0FFFFh 结尾。

    下一步是调用函数 4F01h 以在 256 字节的单独缓冲区中获取每个模式编号的模式特定信息,以找到我们想要使用的分辨率和每像素位数。

    ;-----

    从 VBE 3 开始,可以使用我们自己的 CRTC 参数表来获得更高的刷新率,同时切换到给定的分辨率和给定的纵横比,我们无法通过这种方式更改。我将它与具有 96khz 和 160hz 容量的 19" CRT-Monitor 一起使用,例如 1280x1024 和 85hz,或 1024x768 和 100hz,800x600 和 140hz,640x480 和 160hz 刷新率。但是我的 28" LCD 仅提供一种原始分辨率 1920x1200 60hz,但宽屏为 16:10 宽高比。

    ------------------------------------- 
    VBE Modelist Saphire 7950
    ------------------------------------- 
    mode
    number xres yres bpp LFB
    0100 640x400x8 C0000000 VGA 4:3
    0101 640x480x8 C0000000 VGA 4:3
    0103 800x600x8 C0000000 SVGA 4:3
    0105 1024x768x8 C0000000 XGA 4:3
    0107 1280x1024x8 C0000000 SXGA 5:4
    0110 640x480x16 C0000000 VGA 4:3
    0111 640x480x16 C0000000 VGA 4:3
    0113 800x600x16 C0000000 SVGA 4:3
    0114 800x600x16 C0000000 SVGA 4:3
    0116 1024x768x16 C0000000 XGA 4:3
    0117 1024x768x16 C0000000 XGA 4:3
    0119 1280x1024x16 C0000000 SXGA 5:4
    011A 1280x1024x16 C0000000 SXGA 5:4
    010D 320x200x16 C0000000 CGA 4:3
    010E 320x200x16 C0000000 CGA 4:3
    0120 320x200x32 C0000000 CGA 4:3
    0193 320x240x8 C0000000 QVGA 4:3
    0195 320x240x16 C0000000 QVGA 4:3
    0196 320x240x32 C0000000 QVGA 4:3
    01B3 512x384x8 C0000000 4:3
    01B5 512x384x16 C0000000 4:3
    01B6 512x384x32 C0000000 4:3
    01C3 640x350x8 C0000000 EGA 4:3
    01C5 640x350x16 C0000000 EGA 4:3
    01C6 640x350x32 C0000000 EGA 4:3
    0133 720x400x8 C0000000 WVGA 18:10
    0135 720x400x16 C0000000 WVGA 18:10
    0136 720x400x32 C0000000 WVGA 18:10
    0153 1152x864x8 C0000000 XGA 4:3
    0155 1152x864x16 C0000000 XGA 4:3
    0156 1152x864x32 C0000000 XGA 4:3
    0163 1280x960x8 C0000000 VGA 4:3
    0165 1280x960x16 C0000000 VGA 4:3
    0166 1280x960x32 C0000000 QVGA VGA 4:3
    0121 640x480x32 C0000000 VGA 4:3
    0122 800x600x32 C0000000 SVGA 4:3
    0123 1024x768x32 C0000000 XGA 4:3
    0124 1280x1024x32 C0000000 SXGA 5:4
    0143 1400x1050x8 C0000000 SXGA+ 4:3
    0145 1400x1050x16 C0000000 SXGA+ 4:3
    0146 1400x1050x32 C0000000 SXGA+ 4:3
    0173 1600x1200x8 C0000000 UXGA 4:3
    0175 1600x1200x16 C0000000 UXGA 4:3
    0176 1600x1200x32 C0000000 UXGA 4:3
    0183 1792x1344x8 C0000000
    0185 1792x1344x16 C0000000
    0186 1792x1344x32 C0000000
    01D3 1856x1392x8 C0000000
    01D5 1856x1392x16 C0000000
    01D6 1856x1392x32 C0000000
    01E3 1920x1440x8 C0000000 4:3
    01E5 1920x1440x16 C0000000 4:3
    01E6 1920x1440x32 C0000000 4:3
    01D1 1920x1200x8 C0000000 WUXGA 16:10
    01D2 1920x1200x16 C0000000 WUXGA 16:10
    01D4 1920x1200x32 C0000000 WUXGA 16:10
    
    ------------------------------------- 
    VBE Modelist Colorfull Geforce GTX295
    ------------------------------------- 
    mode
    number xres yres bpp
    0100 640x480x8 VGA 4:3
    0101 640x480x8 VGA 4:3
    0102 800x600x4 SVGA 4:3
    0103 800x600x8 SVGA 4:3
    0104 1024x768x4 XGA 4:3
    0105 1024x768x8 XGA 4:3
    0106 1280x1024x4 SXGA 5:4
    0107 1280x1024x8 SXGA 5:4
    010E 320x200x16 CGA 4:3
    010F 320x200x32 CGA 4:3
    0111 640x480x16 VGA 4:3
    0112 640x480x32 VGA 4:3
    0114 800x600x16 SVGA 4:3
    0115 800x600x32 SVGA 4:3
    0117 1024x768x16 XGA 4:3
    0118 1024x768x32 XGA 4:3
    011A 1280x1024x16 SXGA 5:4
    011B 1280x1024x32 SXGA 5:4
    0130 320x200x8 CGA 4:3
    0131 320x400x8
    0132 320x400x16
    0133 320x400x32
    0134 320x240x8 QVGA 4:3
    0135 320x240x16 QVGA 4:3
    0136 320x240x32 QVGA 4:3
    013D 640x400x16
    013E 640x400x32
    0145 1600x1200x8 UXGA 4:3
    0146 1600x1200x16 UXGA 4:3
    014A 1600x1200x32 UXGA 4:3
    0160 1280x800x8 WXGA 16:10
    0161 1280x800x32 WXGA 16:10
    0162 768x480x8
    017B 1280x720x32 
    017C 1920x1200x8 WUXGA 16:10
    017D 1920x1200x32 WUXGA 16:10
    

    【讨论】:

    • 我正在使用 ati radeon HD 能否提供可用视频模式的列表?
    • 是的,只需启动我的 VESAMODI.exe 即可获取模型师:www.alice-dsl.net/freecracmaps/Tool/VESAMODI.zip
    猜你喜欢
    • 2011-11-10
    • 2011-04-10
    • 1970-01-01
    • 2012-01-31
    • 2013-09-30
    • 2014-10-25
    • 1970-01-01
    • 2013-06-14
    • 1970-01-01
    相关资源
    最近更新 更多