Problems on VBE

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
wishedtobe
Posts: 7
Joined: Sat May 04, 2024 7:48 am
Libera.chat IRC: wishedtobe

Problems on VBE

Post by wishedtobe »

CRTC information block is defined below:
00h WORD total number of pixels horizontally
02h WORD horizontal sync start (in pixels)
04h WORD horizontal sync end (in pixels)
06h WORD total number of scan lines
08h WORD vertical sync start (in scan lines)
0Ah WORD vertical sync end (in scan lines)
0Ch BYTE flags
0Dh DWORD pixel clock, in Hz
11h WORD refresh rate, in 0.01 Hz units
13h 40 BYTEs reserved
Is Horizontal_total always Horizontal_end-Horizontal_start? How does it work? I was trying to get the refresh rate by invoking ax=0x4f0b, then I got ax=0x14f(the VBE version number on my PC is 0x300). Is it possible that it supports all Vesa defined functionalities? I think I should seek answers from EDID.
Octocontrabass
Member
Member
Posts: 5418
Joined: Mon Mar 25, 2013 7:01 pm

Re: Problems on VBE

Post by Octocontrabass »

wishedtobe wrote: Fri Aug 09, 2024 1:02 amIs Horizontal_total always Horizontal_end-Horizontal_start?
No.
wishedtobe wrote: Fri Aug 09, 2024 1:02 amHow does it work?
HorizontalTotal is the total amount of time it takes to display each line on the screen, including the non-display time between lines, measured in pixels. HorizontalSyncStart is the pixel at which the horizontal sync signal is asserted. HorizontalSyncEnd is the pixel at which the horizontal sync signal is negated. HorizontalSyncStart should be close to HorizontalTotal. HorizontalSyncEnd should be close to 0.

VESA has timing formulas you can use to calculate these numbers.
wishedtobe wrote: Fri Aug 09, 2024 1:02 amI was trying to get the refresh rate by invoking ax=0x4f0b, then I got ax=0x14f(the VBE version number on my PC is 0x300). Is it possible that it supports all Vesa defined functionalities?
Most VBE ROMs only support the minimum necessary to boot Windows. It might not support function 0x4F0B. Or, if it does support function 0x4F0B, it might not like the parameters you're using.
wishedtobe wrote: Fri Aug 09, 2024 1:02 amI think I should seek answers from EDID.
EDID gives you information about the display attached to the display adapter. It won't tell you anything about the display adapter.
Post Reply