RTEMS: bsps/i386/pc386/include/bsp/vbe3.h File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Data Structures | Macros
vbe3.h File Reference
Board Support Packages » i386

VESA Bios Extension definitions. More...

`#include <stdint.h>`
`#include <rtems/score/basedefs.h>`

Go to the source code of this file.

## Data Structures
struct | RTEMS_PACKED
| Used for passing and retrieving registers content to/from real mode interrupt call. More...

## Macros
#define | VBE_functionSupported 0x4F
#define | VBE_callSuccessful 0x00
#define | VBE_callFailed 0x01
#define | VBE_notSupportedInCurHWConf 0x02
#define | VBE_callInvalid 0x03
#define | VBE_modeNumberMask 0x01FF
#define | VBE_modeNumberShift 0x00
#define | VBE_VESAmodeMask 0x0100
#define | VBE_VESAmodeShift 0x08
#define | VBE_refreshRateCtrlMask 0x0800
#define | VBE_refreshRateCtrlShift 0x0B
#define | VBE_linearFlatFrameBufMask 0x4000
#define | VBE_linearFlatFrameBufShift 0x0E
#define | VBE_preserveDispMemMask 0x8000
#define | VBE_preserveDispMemShift 0x0F
#define | VBE_R640x400C256 0x100
#define | VBE_R640x480C256 0x101
#define | VBE_R800x600C16 0x102
#define | VBE_b7R800x600C16 0x6A
#define | VBE_R800x600C256 0x103
#define | VBE_R1024x768C16 0x104
#define | VBE_R1024x768C256 0x105
#define | VBE_R1280x1024C16 0x106
#define | VBE_R1280x1024C256 0x107
#define | VBE_R320x200C32K 0x10D
#define | VBE_R320x200C64K 0x10E
#define | VBE_R320x200C17M 0x10F
#define | VBE_R640x480C32K 0x110
#define | VBE_R640x480C64K 0x111
#define | VBE_R640x480C17M 0x112
#define | VBE_R800x600C32K 0x113
#define | VBE_R800x600C64K 0x114
#define | VBE_R800x600C17M 0x115
#define | VBE_R1024x768C32K 0x116
#define | VBE_R1024x768C64K 0x117
#define | VBE_R1024x768C17M 0x118
#define | VBE_R1280x1024C32K 0x119
#define | VBE_R1280x1024C64K 0x11A
#define | VBE_R1280x1024C17M 0x11B
#define | VBE_SpecialMode 0x81FF
#define | VBE_C80R60 0x108
#define | VBE_C132R25 0x109
#define | VBE_C132R43 0x10A
#define | VBE_C132R50 0x10B
#define | VBE_C132R60 0x10C
#define | VBE_RetVBEConInf 0x4F00
#define | VBE_RetVBEModInf 0x4F01
#define | VBE_SetVBEMod 0x4F02
#define | VBE_RetCurVBEMod 0x4F03
#define | VBE_SavResSta 0x4F04
#define | VBE_DisWinCon 0x4F05
#define | VBE_SetGetLogScaLinLen 0x4F06
#define | VBE_SetGetDisSta 0x4F07
#define | VBE_SetGetDACPalFor 0x4F08
#define | VBE_SetGetPalDat 0x4F09
#define | VBE_RetVBEProModInt 0x4F0A
#define | VBE_GetSetpixclo 0x4F0B
#define | VBE_PowManExt 0x4F10
#define | VBE_FlaPanIntExt 0x4F11
#define | VBE_AudIntExt 0x4F13
#define | VBE_OEMExt 0x4F14
#define | VBE_DisDatCha 0x4F15
#define | VBE_RetVBESupSpeInf 0x00
#define | VBE_SIGNATURE "VESA"
#define | VBE20plus_SIGNATURE "VBE2"
#define | VBE_STUB_VideoModeList 0xFFFF
#define | VBE_END_OF_VideoModeList 0xFFFF
#define | VBE_DACswitchableMask 0x0001
#define | VBE_notVGAcompatibleMask 0x0002
#define | VBE_specialRAMDACopMask 0x0004
#define | VBE_hwStereoscopicMask 0x0008
#define | VBE_supportEVCconnMask 0x0010
#define | VBE_modSupInHWMask 0x0001
#define | VBE_TTYOutSupByBIOSMask 0x0004
#define | VBE_ColorModeMask 0x0008
#define | VBE_GraphicsModeMask 0x0010
#define | VBE_VGACompModeMask 0x0020
#define | VBE_VGACompWinMemModeMask 0x0040
#define | VBE_LinFraBufModeAvaiMask 0x0080
#define | VBE_DblScnModeAvaiMask 0x0100
#define | VBE_InterlModeAvaiMask 0x0200
#define | VBE_HWTripBufSupMask 0x0400
#define | VBE_HWSterDispSupMask 0x0800
#define | VBE_DualDispStAdrSupMask 0x1000
#define | VBE_RelocWinSupMask 0x01
#define | VBE_WinReadableMask 0x02
#define | VBE_WinWritableMask 0x04
#define | VBE_TextMode 0x00
#define | VBE_CGAGraphics 0x01
#define | VBE_HerculesGraphics 0x02
#define | VBE_Planar 0x03
#define | VBE_PackedPixel 0x04
#define | VBE_NonChain4Color256 0x05
#define | VBE_DirectColor 0x06
#define | VBE_YUV 0x07
#define | VBE_ColRampProgMask 0x01
#define | VBE_RsvdBitsUsableMask 0x02
#define | VBE_GrModeDblScanMask 0x01
#define | VBE_GrModeInterlMask 0x02
#define | VBE_HorSncPolNegMask 0x04
#define | VBE_VerSncPolNegMask 0x08
#define | VBEDDC_Capabilities 0x0
#define | VBEDDC_ReadEDID 0x1
#define | VBEDDC_1SupportedMask 0x1
#define | VBEDDC_2SupportedMask 0x2
#define | VBEDDC_scrBlnkDatTrMs 0x4
#define | VBESCI_ReportCapabil 0x10
#define | VBESCI_BegSCLSDACtrl 0x11
#define | VBESCI_EndSCLSDACtrl 0x12
#define | VBESCI_WrtSCLClkLine 0x13
#define | VBESCI_WrtSDADatLine 0x14
#define | VBESCI_RdySCLClkLine 0x15
#define | VBESCI_RdySDADatLine 0x16
#define | VBESCI_capSCLwrtMask 0x1
#define | VBESCI_capSDAwrtMask 0x2
#define | VBESCI_capSCLrdyMask 0x4
#define | VBESCI_capSDArdyMask 0x8

## Detailed Description

VESA Bios Extension definitions.

This file contains definitions for constants related to VBE. More information can be found at http://www.vesa.org/vesa-standards/free-standards/. VESA public standards may be found at http://www.vesa.org/wp-content/uploads/2010/12/thankspublic.htm.

## Macro Definition Documentation

## ◆ VBE20plus_SIGNATURE

#define VBE20plus_SIGNATURE "VBE2"

Signature for VBE 2.0 and higher

## ◆ VBE_AudIntExt

#define VBE_AudIntExt 0x4F13

VBE function - Audio Interface Extensions (AI)

## ◆ VBE_b7R800x600C16

#define VBE_b7R800x600C16 0x6A

7-bit mode, Resolution: 800x600, Colors: 16

## ◆ VBE_C132R25

#define VBE_C132R25 0x109

15-bit mode, Columns: 132, Rows: 25

## ◆ VBE_C132R43

#define VBE_C132R43 0x10A

15-bit mode, Columns: 132, Rows: 43

## ◆ VBE_C132R50

#define VBE_C132R50 0x10B

15-bit mode, Columns: 132, Rows: 50

## ◆ VBE_C132R60

#define VBE_C132R60 0x10C

15-bit mode, Columns: 132, Rows: 60

## ◆ VBE_C80R60

#define VBE_C80R60 0x108

15-bit mode, Columns: 80, Rows: 60

## ◆ VBE_callFailed

#define VBE_callFailed 0x01

AH == 01h: Function call failed

## ◆ VBE_callInvalid

#define VBE_callInvalid 0x03

AH == 03h: Function call invalid in current video mode

## ◆ VBE_callSuccessful

#define VBE_callSuccessful 0x00

AH == 00h: Function call successful

## ◆ VBE_ColorModeMask

#define VBE_ColorModeMask 0x0008

Mode Info Block - Mode Attributes
D3 = Monochrome/color mode (see note below). 0 = Monochrome mode
1 = Color mode

## ◆ VBE_ColRampProgMask

#define VBE_ColRampProgMask 0x01

D0 = Color ramp is fixed/programmable. 0 = Color ramp is fixed
1 = Color ramp is programmable

## ◆ VBE_DACswitchableMask

#define VBE_DACswitchableMask 0x0001

VBE Info Block - Capabilities
D0 = 0 DAC is fixed width, with 6 bits per primary color
D0 = 1 DAC width is switchable to 8 bits per primary color

## ◆ VBE_DblScnModeAvaiMask

#define VBE_DblScnModeAvaiMask 0x0100

Mode Info Block - Mode Attributes
D8 = Double scan mode is available. 0 = No
1 = Yes

## ◆ VBE_DisDatCha

#define VBE_DisDatCha 0x4F15

VBE function - Display Data Channel (DDC), Serial Control Interface (SCI)

## ◆ VBE_DisWinCon

#define VBE_DisWinCon 0x4F05

VBE function - Display Window Control

## ◆ VBE_DualDispStAdrSupMask

#define VBE_DualDispStAdrSupMask 0x1000

Mode Info Block - Mode Attributes
D12 = Dual display start address support. 0 = No
1 = Yes

## ◆ VBE_FlaPanIntExt

#define VBE_FlaPanIntExt 0x4F11

VBE function - Flat Panel Interface Extensions (FP)

## ◆ VBE_functionSupported

#define VBE_functionSupported 0x4F

AL == 4Fh: Function is supported
AL != 4Fh: Function is not supported

## ◆ VBE_GetSetpixclo

#define VBE_GetSetpixclo 0x4F0B

VBE function - Get/Set pixel clock

## ◆ VBE_GraphicsModeMask

#define VBE_GraphicsModeMask 0x0010

Mode Info Block - Mode Attributes
D4 = Mode type. 0 = Text mode
1 = Graphics mode

## ◆ VBE_GrModeDblScanMask

#define VBE_GrModeDblScanMask 0x01

CRTC Info Block - Flags
D0 = Double Scan Mode Enable. 0 = Graphics mode is not double scanned
1 = Graphics mode is double scanned

## ◆ VBE_GrModeInterlMask

#define VBE_GrModeInterlMask 0x02

CRTC Info Block - Flags
D1 = Interlaced Mode Enable. 0 = Graphics mode is non-interlaced
1 = Graphics mode is interlaced

## ◆ VBE_HorSncPolNegMask

#define VBE_HorSncPolNegMask 0x04

CRTC Info Block - Flags
D2 = Horizontal sync polarity. 0 = Horizontal sync polarity is positive (+)
1 = Horizontal sync polarity is negative (-)

## ◆ VBE_HWSterDispSupMask

#define VBE_HWSterDispSupMask 0x0800

Mode Info Block - Mode Attributes
D11 = Hardware stereoscopic display support. 0 = No
1 = Yes

## ◆ VBE_hwStereoscopicMask

#define VBE_hwStereoscopicMask 0x0008

VBE Info Block - Capabilities
D3 = 0 No hardware stereoscopic signaling support
D3 = 1 Hardware stereoscopic signaling supported by controller

## ◆ VBE_HWTripBufSupMask

#define VBE_HWTripBufSupMask 0x0400

Mode Info Block - Mode Attributes
D10 = Hardware triple buffering support. 0 = No
1 = Yes

## ◆ VBE_InterlModeAvaiMask

#define VBE_InterlModeAvaiMask 0x0200

Mode Info Block - Mode Attributes
D9 = Interlaced mode is available. 0 = No
1 = Yes

## ◆ VBE_linearFlatFrameBufMask

#define VBE_linearFlatFrameBufMask 0x4000

If D14 == 0, Use Banked/Windowed Frame Buffer
If D14 == 1, Use Linear/Flat Frame Buffer

## ◆ VBE_LinFraBufModeAvaiMask

#define VBE_LinFraBufModeAvaiMask 0x0080

Mode Info Block - Mode Attributes
D7 = Linear frame buffer mode is available. 0 = No
1 = Yes

## ◆ VBE_modeNumberMask

#define VBE_modeNumberMask 0x01FF

D0-D8 = Mode number

## ◆ VBE_modSupInHWMask

#define VBE_modSupInHWMask 0x0001

Mode Info Block - Mode Attributes
D0 = Mode supported by hardware configuration. 0 = Mode not supported in hardware
1 = Mode supported in hardware

## ◆ VBE_notSupportedInCurHWConf

#define VBE_notSupportedInCurHWConf 0x02

AH == 02h: Function is not supported in the current hardware configuration

## ◆ VBE_notVGAcompatibleMask

#define VBE_notVGAcompatibleMask 0x0002

VBE Info Block - Capabilities
D1 = 0 Controller is VGA compatible
D1 = 1 Controller is not VGA compatible

## ◆ VBE_OEMExt

#define VBE_OEMExt 0x4F14

VBE function - OEM Extensions

## ◆ VBE_PowManExt

#define VBE_PowManExt 0x4F10

VBE function - Power Management Extensions (PM)

## ◆ VBE_preserveDispMemMask

#define VBE_preserveDispMemMask 0x8000

If D15 == 0, Clear display memory
If D15 == 1, Preserve display memory

## ◆ VBE_R1024x768C16

#define VBE_R1024x768C16 0x104

15-bit mode, Resolution: 1024x768, Colors: 16

## ◆ VBE_R1024x768C17M

#define VBE_R1024x768C17M 0x118

15-bit mode, Resolution: 1024x768, Colors: 16.8M (8:8:8)

## ◆ VBE_R1024x768C256

#define VBE_R1024x768C256 0x105

15-bit mode, Resolution: 1024x768, Colors: 256

## ◆ VBE_R1024x768C32K

#define VBE_R1024x768C32K 0x116

15-bit mode, Resolution: 1024x768, Colors: 32K (1:5:5:5)

## ◆ VBE_R1024x768C64K

#define VBE_R1024x768C64K 0x117

15-bit mode, Resolution: 1024x768, Colors: 64K (5:6:5)

## ◆ VBE_R1280x1024C16

#define VBE_R1280x1024C16 0x106

15-bit mode, Resolution: 1280x1024, Colors: 16

## ◆ VBE_R1280x1024C17M

#define VBE_R1280x1024C17M 0x11B

15-bit mode, Resolution: 1280x1024, Colors: 16.8M (8:8:8)

## ◆ VBE_R1280x1024C256

#define VBE_R1280x1024C256 0x107

15-bit mode, Resolution: 1280x1024, Colors: 256

## ◆ VBE_R1280x1024C32K

#define VBE_R1280x1024C32K 0x119

15-bit mode, Resolution: 1280x1024, Colors: 32K (1:5:5:5)

## ◆ VBE_R1280x1024C64K

#define VBE_R1280x1024C64K 0x11A

15-bit mode, Resolution: 1280x1024, Colors: 64K (5:6:5)

## ◆ VBE_R320x200C17M

#define VBE_R320x200C17M 0x10F

15-bit mode, Resolution: 320x200, Colors: 16.8M (8:8:8)

## ◆ VBE_R320x200C32K

#define VBE_R320x200C32K 0x10D

15-bit mode, Resolution: 320x200, Colors: 32K (1:5:5:5)

## ◆ VBE_R320x200C64K

#define VBE_R320x200C64K 0x10E

15-bit mode, Resolution: 320x200, Colors: 64K (5:6:5)

## ◆ VBE_R640x400C256

#define VBE_R640x400C256 0x100

15-bit mode, Resolution: 640x400, Colors: 256

## ◆ VBE_R640x480C17M

#define VBE_R640x480C17M 0x112

15-bit mode, Resolution: 640x480, Colors: 16.8M (8:8:8)

## ◆ VBE_R640x480C256

#define VBE_R640x480C256 0x101

15-bit mode, Resolution: 640x480, Colors: 256

## ◆ VBE_R640x480C32K

#define VBE_R640x480C32K 0x110

15-bit mode, Resolution: 640x480, Colors: 32K (1:5:5:5)

## ◆ VBE_R640x480C64K

#define VBE_R640x480C64K 0x111

15-bit mode, Resolution: 640x480, Colors: 64K (5:6:5)

## ◆ VBE_R800x600C16

#define VBE_R800x600C16 0x102

15-bit mode, Resolution: 800x600, Colors: 16

## ◆ VBE_R800x600C17M

#define VBE_R800x600C17M 0x115

15-bit mode, Resolution: 800x600, Colors: 16.8M (8:8:8)

## ◆ VBE_R800x600C256

#define VBE_R800x600C256 0x103

15-bit mode, Resolution: 800x600, Colors: 256

## ◆ VBE_R800x600C32K

#define VBE_R800x600C32K 0x113

15-bit mode, Resolution: 800x600, Colors: 32K (1:5:5:5)

## ◆ VBE_R800x600C64K

#define VBE_R800x600C64K 0x114

15-bit mode, Resolution: 800x600, Colors: 64K (5:6:5)

## ◆ VBE_refreshRateCtrlMask

#define VBE_refreshRateCtrlMask 0x0800

If D11 == 0, Use current BIOS default refresh rate
If D11 == 1, Use user specified CRTC values for refresh rate

## ◆ VBE_RelocWinSupMask

#define VBE_RelocWinSupMask 0x01

D0 = Relocatable window(s) supported. 0 = Single non-relocatable window only
1 = Relocatable window(s) are supported

## ◆ VBE_RetCurVBEMod

#define VBE_RetCurVBEMod 0x4F03

VBE function - Return Current VBE Mode

## ◆ VBE_RetVBEConInf

#define VBE_RetVBEConInf 0x4F00

VBE function - Return VBE Controller Information

## ◆ VBE_RetVBEModInf

#define VBE_RetVBEModInf 0x4F01

VBE function - Return VBE Mode Information

## ◆ VBE_RetVBEProModInt

#define VBE_RetVBEProModInt 0x4F0A

VBE function - Return VBE Protected Mode Interface

## ◆ VBE_RetVBESupSpeInf

#define VBE_RetVBESupSpeInf 0x00

Return VBE Supplemental Specification Information

## ◆ VBE_RsvdBitsUsableMask

#define VBE_RsvdBitsUsableMask 0x02

D1 = Bits in Rsvd field are usable/reserved. 0 = Bits in Rsvd field are reserved
1 = Bits in Rsvd field are usable by the application

## ◆ VBE_SavResSta

#define VBE_SavResSta 0x4F04

VBE function - Save/Restore State

## ◆ VBE_SetGetDACPalFor

#define VBE_SetGetDACPalFor 0x4F08

VBE function - Set/Get DAC Palette Format

## ◆ VBE_SetGetDisSta

#define VBE_SetGetDisSta 0x4F07

VBE function - Set/Get Display Start

## ◆ VBE_SetGetLogScaLinLen

#define VBE_SetGetLogScaLinLen 0x4F06

VBE function - Set/Get Logical Scan Line Length

## ◆ VBE_SetGetPalDat

#define VBE_SetGetPalDat 0x4F09

VBE function - Set/Get Palette Data

## ◆ VBE_SetVBEMod

#define VBE_SetVBEMod 0x4F02

VBE function - Set VBE Mode

## ◆ VBE_SIGNATURE

#define VBE_SIGNATURE "VESA"

General VBE signature

## ◆ VBE_specialRAMDACopMask

#define VBE_specialRAMDACopMask 0x0004

VBE Info Block - Capabilities
D2 = 0 Normal RAMDAC operation
D2 = 1 When programming large blocks of information to the RAMDAC, use the blank bit in Function 09h.

## ◆ VBE_STUB_VideoModeList

#define VBE_STUB_VideoModeList 0xFFFF

for STUB see VBE CORE FUNCTIONS VERSION 3.0 - Appendix 1

## ◆ VBE_supportEVCconnMask

#define VBE_supportEVCconnMask 0x0010

VBE Info Block - Capabilities
D4 = 0 Stereo signaling supported via external VESA stereo connector
D4 = 1 Stereo signaling supported via VESA EVC connector

## ◆ VBE_TTYOutSupByBIOSMask

#define VBE_TTYOutSupByBIOSMask 0x0004

Mode Info Block - Mode Attributes
D2 = TTY Output functions supported by BIOS. 0 = TTY Output functions not supported by BIOS
1 = TTY Output functions supported by BIOS

## ◆ VBE_VerSncPolNegMask

#define VBE_VerSncPolNegMask 0x08

CRTC Info Block - Flags
D3 = Vertical sync polarity. 0 = Vertical sync polarity is positive (+)
1 = Vertical sync polarity is negative (-)

## ◆ VBE_VESAmodeMask

#define VBE_VESAmodeMask 0x0100

If D8 == 0, this is not a VESA defined VBE mode
If D8 == 1, this is a VESA defined VBE mode

## ◆ VBE_VGACompModeMask

#define VBE_VGACompModeMask 0x0020

Mode Info Block - Mode Attributes
D5 = VGA compatible mode. 0 = Yes
1 = No

## ◆ VBE_VGACompWinMemModeMask

#define VBE_VGACompWinMemModeMask 0x0040

Mode Info Block - Mode Attributes
D6 = VGA compatible windowed memory mode is available. 0 = Yes
1 = No

## ◆ VBE_WinReadableMask

#define VBE_WinReadableMask 0x02

D1 = Window readable. 0 = Window is not readable
1 = Window is readable

## ◆ VBE_WinWritableMask

#define VBE_WinWritableMask 0x04

D2 = Window writeable. 0 = Window is not writeable
1 = Window is writeable

## ◆ VBEDDC_1SupportedMask

#define VBEDDC_1SupportedMask 0x1

0 - DDC1 not supported; 1 - DDC1 supported

## ◆ VBEDDC_2SupportedMask

#define VBEDDC_2SupportedMask 0x2

0 - DDC2 not supported; 1 - DDC2 supported

## ◆ VBEDDC_Capabilities

#define VBEDDC_Capabilities 0x0

VBE/DDC subfunction - Report VBE/DDC Capabilities

## ◆ VBEDDC_ReadEDID

#define VBEDDC_ReadEDID 0x1

VBE/DDC subfunction - Read EDID

## ◆ VBEDDC_scrBlnkDatTrMs

#define VBEDDC_scrBlnkDatTrMs 0x4

0 - Screen not blanked during data transfer
1 - Screen blanked during data transfer

## ◆ VBESCI_BegSCLSDACtrl

#define VBESCI_BegSCLSDACtrl 0x11

VBE/SCI subfunction - Begin SCL/SDA control

## ◆ VBESCI_capSCLrdyMask

#define VBESCI_capSCLrdyMask 0x4

Can read from SCL clock line

## ◆ VBESCI_capSCLwrtMask

#define VBESCI_capSCLwrtMask 0x1

Can write to SCL clock line

## ◆ VBESCI_capSDArdyMask

#define VBESCI_capSDArdyMask 0x8

Can read from SDA data line

## ◆ VBESCI_capSDAwrtMask

#define VBESCI_capSDAwrtMask 0x2

Can write to SDA data line

## ◆ VBESCI_EndSCLSDACtrl

#define VBESCI_EndSCLSDACtrl 0x12

VBE/SCI subfunction - End SCL/SDA control

## ◆ VBESCI_RdySCLClkLine

#define VBESCI_RdySCLClkLine 0x15

VBE/SCI subfunction - Read SCL clock line

## ◆ VBESCI_RdySDADatLine

#define VBESCI_RdySDADatLine 0x16

VBE/SCI subfunction - Read SDA data line

## ◆ VBESCI_ReportCapabil

#define VBESCI_ReportCapabil 0x10

VBE/SCI subfunction - Report VBE/SCI Capabilities

## ◆ VBESCI_WrtSCLClkLine

#define VBESCI_WrtSCLClkLine 0x13

VBE/SCI subfunction - Write SCL clock line

## ◆ VBESCI_WrtSDADatLine

#define VBESCI_WrtSDADatLine 0x14

VBE/SCI subfunction - Write SDA data line