Video Controller Vga Compatible Driver

  1. Video Controller Vga Compatible Driver Download Xp
  2. Video Controller Vga Compatible Driver Error
  3. Video Controller (vga Compatible) Driver Download
(Redirected from Video Display Controller)

A video display controller or VDC (also regularly called display engine, display interface) is an integrated circuit which is the main component in a video signal generator, a device responsible for the production of a TV video signal in a computing or game system. Video Controller (VGA Compatible) Publisher's Description High-resolution displays for larger screens are supported so you can see more of your image, video, phone book, Web page, or game on the screen. Hardware driver for Cirrus Logic chips: CL-GD542x, CL-GD543x, CL-GD544x, CL-GD546x, CL-GD5480, including qemu emulated CL-GD5446. With 2Mb+ cards 32-bit color modes are supported., Windows NT clones - ALL of them: Debug version. 2009.01.03: IBM Graphics driver works with any IBM EGA/VGA-compatible cards (mono, 16, 256 colors)., Windows NT 4. TC3318 Integrated Multi-Touch Controller and Display Driver for 1080RGBx2400 LTPS LCD DisplayPort LCD Monitor Controllers DP703 LCD Monitor Controller with DisplayPort and HDMI/DVI Interfaces.

Block diagram of a NEC µPD7220 graphics display controller

A video display controller or VDC (also regularly called display engine, display interface) is an integrated circuit which is the main component in a video signal generator, a device responsible for the production of a TVvideo signal in a computing or game system. Some VDCs also generate an audio signal, but that is not their main function.

VDCs were used in the home computers of the 1980s and also in some early video picture systems.

The VDC is the main component of the video signal generator logic, responsible for generating the timing of video signals such as the horizontal and vertical synchronization signals and the blanking interval signal. Sometimes other supporting chips were necessary to build a complete system, such as RAM to hold pixeldata, ROM to hold character fonts, or some discrete logic such as shift registers.

Most often the VDC chip is completely integrated in the logic of the main computer system, (its video RAM appears in the memory map of the main CPU), but sometimes it functions as a coprocessor that can manipulate the video RAM contents independently.

Video display controller vs. graphics processing unit[edit]

The difference between a display controller, a graphics accelerator, and a video compression/decompression IC is huge, but, since all of this logic is usually found on the chip of a graphics processing unit and is usually not available separately to the end-customer, there is often much confusion about these very different functional blocks.

GPUs with hardware acceleration started appearing during the 1990s.[citation needed] VDCs often had special hardware for the creation of 'sprites', a function that in more modern VDP chips is done with the 'Bit Blitter' using the 'Bit blit' function.

One example of a typical video display processor is the 'VDP2 32-bit background and scroll plane video display processor' of the Sega Saturn.Another example is the Advanced Graphics Architecture (AGA) chip that was used for the improved graphics of the later generation Amiga computers.

That said, it is not completely clear when a 'video chip' is a 'video display controller' and when it is a 'video display processor'. For example, the TMS9918 is sometimes called a 'video display controller' and sometimes a 'video display processor'. In general however a 'video display processor' has some power to 'process' the contents of the video RAM (filling an area of RAM for example), while a 'video display controller' only controls the timing of the video synchronization signals and the access to the video RAM.

The graphics processing unit (GPU) goes one step further than the VDP and normally also supports 3D functionality. This is the kind of chip that is used in modern personal computers.

Types[edit]

Video display controllers can be divided in several different types, listed here from simplest to most complex;

  • Video shifters, or 'video shift register based systems' (there is no generally agreed upon name for these type of devices), are the most simple type of video controllers. They are directly or indirectly responsible for the video timing signals, but they normally do not access the video RAM directly. They get the video data from the main CPU, a byte at a time, and convert it to a serial bitstream, hence the technical name 'video shifter'. This serial data stream is then used together with the synchronization signals to output a video signal. The main CPU needs to do the bulk of the work. Normally these chips only support a very low resolution raster graphics mode.
  • A CRTC, or cathode-ray tube controller, generates the video timings and reads video data from RAM attached to the CRTC to output it via an external character generator ROM (for text modes) or directly to the video output shift register (for high resolution graphics modes). Because the actual capabilities of the video generator depend to a large degree on the external logic, video generator based on a CRTC chip can have a wide range of capabilities, from simple text-mode only systems to high-resolution systems supporting a wide range of colours. Sprites, however, are normally not supported by these systems.
  • Video interface controllers are much more complex than CRT controllers, and the external circuitry that is needed with a CRTC is embedded in the video controller chip. Sprites are often supported, as are (RAM based) character generators and video RAM dedicated to colour attributes and pallette registers (colour lookup tables) for the high-resolution or text modes.
  • Video coprocessors have their own internal CPU dedicated to reading (and writing) their own video RAM (which may be shared with the CPU), and converting the contents of this video RAM to a video signal. The main CPU can give commands to the coprocessor, for example to change the video modes or to manipulate the video RAM contents. The video coprocessor also controls the (most often RAM-based) character generator, the colour attribute RAM, palette registers, and the sprite logic (as long as these exist of course).

List of example VDCs[edit]

Examples of video display controllers are:

Video shifters

  • The RCA CDP1861 was a very simple chip, built in CMOS technology (which was unusual for the mid-1970s) to complement the RCA 1802 microprocessor, it was mainly used in the COSMAC VIP. It could only support a very low resolution monochrome graphic mode.
  • The Television Interface Adapter (TIA) is the custom video chip that is the heart of the Atari 2600 games console, a very primitive chip that relied on the 6502 microprocessor to do most of the work, also was used to generate the audio.

CRT Controllers

  • The Intel 8275 CRT controller was used in the Convergent Technologies AWS / Burroughs B20, along with some S100 bus systems.
  • The Motorola 6845 (MC6845) is a video address generator first introduced by Motorola and used for the Amstrad CPC, and the BBC Micro. It was also used for almost all the early video adapters for the PC, such as the MDA, CGA and EGA adapters. The MDA and CGA use an actual Motorola chip, while the EGA has a custom IBM chipset of five LSI chips; one of those chips includes IBM's reimplementation of the CRTC, which operates like an MC6845 but differs in a few register addresses and functions so it is not 100% compatible. In all later VGA compatible adapters the function of the 6845 is still reproduced inside the video chip, so in a sense all current IBM PC compatible PCs still incorporate the logic of the 6845 CRTC.

Video interface controllers

  • The Signetics 2636 and 2637 are video controllers best known for their use in the Interton VC 4000 and Emerson Arcadia 2001 respectively.
  • The MC6847 is a video display generator (VDG) first introduced by Motorola and used in the TRS-80 Color Computer, Dragon 32/64, Laser 200 and Acorn Atom among others.
  • The MOS Technology 6560 (NTSC) and 6561 (PAL) are known as the video interface controller (VIC) and used in the Commodore VIC-20.
  • The MOS Technology 6567/8562/8564 (NTSC versions) and 6569/8565/8566 (PAL) were known as the VIC-II and were used in the Commodore 64.
  • The MOS Technology 8563/8568 was used in the Commodore 128 (8563) and Commodore 128D (8568) to create an 80 column text display, as well as several high resolution graphics modes. The Commodore 128 models included a VIC-II to support Commodore 64 compatible video modes.
  • The MOS Technology 7360 text editing device (TED) was used in the Commodore Plus/4, Commodore 16 and Commodore 116 computers and had an integrated audio capability.
  • The NEC μPD7220. Used in some high-end graphics boards for the IBM PC in the mid 80s, notably in products from Number 9 Computer Company.
  • The Philips semiconductors SCC66470 was a VSC (Video- and Systems Controller) used in conjunction with their 68070-Microcontroller e.g. in CD-i systems.
  • The Picture Processing Unit was a video coprocessor designed by Ricoh for Nintendo's use in the Famicom and Nintendo Entertainment System. It was connected to 2048 bytes of dedicated video RAM, and had a dedicated address bus that allowed additional RAM or ROM to be accessed from the game cartridge. A scrollable playfield of 256×240 pixels was supported, along with a display list of 64 OBJs (sprites), of which 8 could be displayed per scanline.

Video coprocessors

  • The ANTIC (Alpha-Numeric Television Interface Circuit) was an early video system chip used in the Atari 8-bit family of microcomputers. It could read a 'Display list' with its own built in CPU and use this data to generate a complex video signal.
  • The TMS9918 is known as the Video Display Processor (VDP) and was first designed for the Texas InstrumentsTI-99/4, but was later also used in systems like the MSX (MSX-1), ColecoVision, Memotech MTX series, and for the SegaSG-1000 and SC-3000. The Master System uses an enhanced VDP based on the TMS9918, and the Sega 315-5313 (Yamaha YM7101) VDP used in the Sega Genesis and some arcade machines is a further advancement of the Master System VDP with the original (inferior) TMS9918 modes removed.
  • The Yamaha V9938 is an improved version of the TMS9918, and was mainly used in the MSX2.
  • The Yamaha V9958 is the Video Display Processor (VDP) mainly used in the MSX2+ and MSX turboR computers.
  • The VLSI VS21S010D-L is a 128kB SPI/parallel SRAM with an integrated video display controller with variable-bit-depth pixels and a block-move blitter.
  • The Thomson EF936x series of Graphic Display Processor (GDP), which offers a draw rate of 1 million pixels per second and resolutions up to 1024×512.

Alternatives to a VDC chip[edit]

Note that many early home computers did not use a VDP chip, but built the whole video display controller from a lot of discrete logic chips, (examples are the Apple II, PET, and TRS-80). Because these methods are very flexible, video display generators could be very capable (or extremely primitive, depending of the quality of the design), but also needed a lot of components.

Many early systems used some form of an early programmable logic array to create a video system; examples include the ZX Spectrum and ZX-81 systems and Elektronika BK-0010, but there were many others. Early implementations were often very primitive, but later implementations sometimes resulted in fairly advanced video systems, like the one in the SAM Coupé.

These systems could thus build a very capable system with relatively few components, but the low transistor count of early programmable logic meant that the capabilities of early PLA-based systems were often less impressive than those using the video interface controllers or video coprocessors that were available at the same time. Later PLA solutions, such as those using CPLDs or FPGAs, could result in much more advanced video systems, surpassing those built using off-the-shelf components.

An often-used hybrid solution was to use a video interface controller (often the Motorola 6845) as a basis and expand its capabilities with programmable logic or an ASIC. An example of such a hybrid solution is the original VGA card, that used a 6845 in combination with an ASIC. That is why all current VGA based video systems still use the hardware registers that were provided by the 6845.

Modern solutions[edit]

ATi R300 chip block diagram. The display controller is labelled 'display interface'.

With the advancements made in semiconductor device fabrication, more and more functionality is implemented as integrated circuits, often licensable as semiconductor intellectual property core (SIP core). Display controller SIP blocks can be found on the die of GPUs, APUs and SoCs.

They support a variety of interfaces: VGA, DVI, HDMI, DisplayPort, VHDCI, DMS-59 and more. The PHY includes LVDS, TMDS and Flat Panel Display Link, OpenLDI and CML.

For example, a VGA-signal, which is created by the display controller, is being transported over a VGA-cable to the display. Both ends of the cable end in a VGA connector. Laptops and other mobile computers use different interfaces between the display controller and the display. A display controller usually supports multiple computer display standards.

KMS driver is an example of a device driver for display controllers and AMD Eyefinity is a special brand of display controller with multi-monitor support.

RandR (resize and rotate) is a method to configure screen resolution and refresh rate on each individual outputs separately and at the same time configure the settings of the windowing system accordingly.

An example for this dichotomy is offered by ARM Holdings: they offer SIP core for 3D rendering acceleration and for display controller independently. The former has marketing names such as Mali-200 or Mali-T880 while the latter is available as Mali-DP500, Mali-DP550 and Mali-DP650.[1]

History[edit]

In 1982, NEC released the NEC μPD7220, one of the most widely used video display controllers in 1980s personal computers. It was used in the NEC PC-9801, APC III, IBM PC compatibles, DEC Rainbow, Tulip System-1, and Epson QX-10.[2]Intel licensed the design and called it the 82720 graphics display controller.[3]

Previously, graphic cards were also called graphic adapters, and the chips used on these ISA/EISA cards consisted solely of a display controller, as this was the only functionality required to connect a computer to a display. Later cards included ICs to perform calculations related to 2D rendering in parallel with the CPU; these cards were referred to as graphics accelerator cards. Similarly, ICs for 3D rendering eventually followed. Such cards were available with VLB, PCI, and AGP interfaces; modern cards typically use the PCI Express bus, as they require much greater bandwidth then the ISA bus can deliver.

See also[edit]

References[edit]

  1. ^'Initial support for ARM Mali Display Controller'. Linux kernel mailing list. 2016-04-01.
  2. ^Dampf, Guido (1986). 'Graphics with the NEC 7220: Direct access with Turbo Pascal'. Retrieved 27 July 2013. (Translation of 'Grafik mit dem 7220 von NEC', mc, 1986, H11, pp. 54-65)
  3. ^Changon Tsay (January 1, 1986). A graphics system design based on the INTEL 82720 graphics display controller. Dissertation. University of Texas at El Paso.

External links[edit]

  • Embedded Linux Conference 2013 – Anatomy of an Embedded KMS driver on YouTube KMS driver is a device driver for display controllers
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Video_display_controller&oldid=998857984'

Home page | EN-US English | RU Russian | Other projects (EN-US English)

This project started on May 2004.

Overview

Key features :

  • The main IDEA of the project was taken from standard XP/2003 VGA.SYS display driver with generic VESA BIOS Extensions (VBE) 1.02/2.00/3.00+ support.
  • It is a standard Windows NT™ Video Display Driver.
  • It supports ALL of MS Windows NT™ Family (3.x,4.0,2000(5.0),XP/XPMCE/WFLP 32-bit(5.1),2003 Server 32-bit(5.2)).
  • Windows Preinstallation Environment (WinPE) is also supported.
  • It supports a wide range of videocards emulated via virtualization software: Bochs, QEMU, VMware, Innotek VirtualBox, Microsoft VirtualPC.
  • For proper operation my driver expects that your video card's BIOS is 100%-compatible with VESA Video BIOS extensions specification. Nowadays there are many video cards that don't fully supports INT10 interface, which is provided by VESA/VBE standard (See VBE FAQ below for details).
  • Supports VBE 2.00+ compliant PCI/AGP/PCI-E video cards with linear frame buffer.
  • Partially supports VBE 1.x compliant ISA/EISA/MCA/VLB/PCI video cards with linear frame buffer (only S3, Tseng Labs, Cirrus Logic, Trident chips).
  • Under Windows XP and later, it supports VBE 1.x ISA/EISA/MCA/VLB/PCI video cards with bank switching (Like Intel 810/815 cards, old ISA/MCA/VLB-bus cards). In other cases it is limited to 320x200x8bit mode.
  • Supports VBE-incompatible EGA/VGA video cards (old ISA/EISA/MCA-bus cards) with bank switching limited to monochrome and 320x200x8bit modes via additional VGA13H driver.
  • For usermode part of the driver it uses standard framebuf.dll supplied with ANY Windows NT™.
  • 256color(8bit), 15bit (R5G5B5), 16bit (R5G6B5), 24bit, 32bit true color modes support.
  • From 320x200x8bit to every resolution which your video card's BIOS supports.
  • Video mode filtering using registry (organized like ATI's DALRestrictedModesBCD key). You can disable unneeded modes using this technique.
  • Under Windows NT 4.00™ and later, it supports USWC (Uncached Speculative Write Combining) using processor's MTRR registers.
  • Under Windows 2000™ and later, it supports Advanced Power Management (i.e. Stand by, Hibernation), Monitor & Child Devices Detection. Legacy-type drivers and NT3/NT4 support for these features exist, but it is limited.
  • Under Windows 2000™ and later, it supports internal Windows GDI Acceleration using shadow buffer. Beta support for Windows NT 4.00™ exists via modified version of framebuf.dll.
  • VBE 3.00+ support: refresh rate switching (3Dfx, nVidia, Intel video cards for example). Note that in some cases system restart IS REQUIRED for successful change of refresh rate in Windows NT 4.00™/2000™.
  • Under Windows 2000™ and later, it supports internal Windows support for accelerated Mode-X modes with width of 320 pixels via MODEX.DLL.

Planned features :

  • Windows NT 3.1 support (in beta now, no 8 bit modes support)
  • Windows Alpha, MIPS, PowerPC architecture support
  • Feature to install the driver without reboot
  • Shadow buffer acceleration support for NT4 (in beta now)
  • ICM (color management), rotation and zooming support
  • More than one device for output (display, video out device, flat panel)
  • 2-bit (mono) and 4-bit (16 colors) support for testing purposes only
  • Old adapters support like EGA, CGA, Hercules etc. for testing purposes only :)

Download drivers

This driver is intended for using in case when your have some new or unknown video card(s) and you don't have drivers for it. It's better to contact manufacturer of your video card or search THE WEB for the drivers. ONLY if you finally cannot find driver for your video card I recommend you to use mine (vbemp.sys). My driver does not provide any kind of 3D hardware acceleration (DirectX & OpenGL). For this purpose third-party libraries can be used.

If your card made by AMD-ATI Technologies and this card is detected as two devices ('Radeon xxxx' and 'Radeon xxxx Secondary') only 'Manual' or 'legacy' version may work with it.

My driver does NOT support multiple video cards and/or displays connected simultaneously and this feature is NOT planned.

My driver does NOT support any editions of Windows Vista/Windows 7 and newer.

Before installing VBEMP.SYS I recommend removing any display drivers installed including any previous or newer VBEMP driver versions and switching to the standard VGA mode 640x480x16colors.

System requirements :
  • Windows NT 3.1 - latest Service Pack (SP3) is recommended
  • Windows NT 3.5 - latest Service Pack (SP3) is recommended
  • Windows NT 3.51 - latest Service Pack (SP5) is recommended, AGP/PCI-E cards may not work without special update *
  • Windows NT 4.0 - latest Service Pack (SP6a) is recommended, AGP/PCI-E cards may not work without special update *
  • Windows 2000 - latest Service Pack (SP4) is recommended
  • Windows XP - latest Service Pack (SP3) is recommended **
  • Windows 2003 Server - latest Service Pack (SP2) is recommended **

* If you have problems installing VBEMP or any other driver in Windows NT 4.0 (and NT 3.51) - blank screen, system hang after restart - read this MS Article. Details here: MSKB: AGP Video Support for Windows NT 3.51 and 4.0 (Q174567). Install Service Pack 3 or later for Windows NT 4.0, and Q174567 Hotfix for Windows NT 3.51 to solve this problem.

** Windows XP/Windows 2003 version is not necessarily needed because basic functionality of it is also included in standard VGA.SYS. Comparing to my driver, VGA.SYS:

  1. Supports 4-bit (16 colors) modes 640x480, 800x600
  2. VESA BIOS modes support is limited for some cards:
  3. Cannot switch to modes less than 640x480
  4. Cannot switch display refresh rates using VBE 3.0 standard
  5. Write Combining (USWC) acceleration is not supported
  6. 15-bpp R5G5B5 modes are skipped

OS

Version

Description

Link

Windows NT,
Windows 2000,
Windows XP,
Windows 2003,
Windows PE x64/ia64

Release version
beta
2019.12.01

Universal VBE30 & VBE20 versions.**,
Universal VBEMP control panel extension.

[?],[?],[?]

Windows NT,
Windows 2000,
Windows XP,
Windows 2003,
Windows PE x64/ia64

Release version
beta
2015.01.01

Universal VBE30 & VBE20 versions.**,
Universal VBEMP control panel extension.

[?],[?],[?]

Windows XP,
Windows 2003,
Windows PE x64/ia64

Release version
beta
2010.07.09

Universal VBE30 & VBE20 versions.**

[?],[?],[?]

Windows NT,
Windows 2000,
Windows XP,
Windows 2003,
Windows PE

Release version
beta
2010.07.09

Universal VBE30 & VBE20 versions.**

[?],[?],[?]

Windows NT,
Windows 2000,
Windows XP,
Windows 2003,
Windows PE

Release version
beta
2009.01.14

Universal VBE30 & VBE20 versions.**

[?],[?],[?]

Windows NT,
Windows 2000,
Windows XP,
Windows 2003,
Windows PE

Release version
beta
2008.04.26

Universal VBE30 & VBE20 versions.**

[?],[?],[?]

Windows NT,
Windows 2000,
Windows XP,
Windows 2003,
Windows PE***

'STABLE'
Release version
2007.10.19

Universal VBE30 & VBE20 versions.**

[?],[?],[?]

Windows NT clones - ALL of them

Release version
beta
2019.12.01

Hardware driver for Cirrus Logic chips: CL-GD542x, CL-GD543x, CL-GD544x, CL-GD546x, CL-GD5480, including qemu emulated CL-GD5446. With 2Mb+ cards 32-bit color modes are supported.

[?],[?],[?]

Windows NT clones - ALL of them

Release version
beta
2015.01.01

Hardware driver for Cirrus Logic chips: CL-GD542x, CL-GD543x, CL-GD544x, CL-GD546x, CL-GD5480, including qemu emulated CL-GD5446. With 2Mb+ cards 32-bit color modes are supported.

[?],[?],[?]

Windows NT clones - ALL of them

Release version
beta
2009.01.08

Hardware driver for Cirrus Logic chips: CL-GD542x, CL-GD543x, CL-GD544x, CL-GD546x, CL-GD5480, including qemu emulated CL-GD5446. With 2Mb+ cards 32-bit color modes are supported.

[?],[?],[?]

Windows NT clones - ALL of them

Debug version * 2009.01.03

IBM Graphics driverworks with any IBM EGA/VGA-compatible cards (mono, 16, 256 colors).

[?],[?],[?]

Windows NT 4.0 only

Release version
2007.10.28

VGAMONO USWC special driver which emulates true color modes via dithering in 1,2 or 4-plane color modes, works with any VBE-compatible cards.

[?],[?],[?]

Windows NT 3.51,
Windows NT 4.0,
Windows 2000,
Windows XP,
Windows 2003

Release version
2008.12.19

Universal VBEMP control panel extension.

[?],[?],[?]

Windows NT 3.5x,
Windows NT 4.0 only

Release version
beta
2010.07.05

FRAMEVBE shadow buffer accelerated library.

[?],[?],[?]

Windows NT 3.5x,
Windows NT 4.0,
Windows 2000,
Windows XP,
Windows 2003,
Windows PE

Release version
beta
2010.07.05

FRAMEBUF library fixed for 15-bpp support.

[?],[?],[?]

Windows NT clones - ALL of them (up to Windows 7)

Release version
2011.12.16

Special driver for VirtualBox made by Michal Necasek.

Windows NT clones - ALL of them (up to Windows 7)

Release version 2
2012.03.04

Special driver for VirtualBox made by Michal Necasek.

Windows NT clones - ALL of them (up to Windows 7)

Release version 3
2014.08.01

Special driver for VirtualBox made by Michal Necasek.

Installation note 1: If your card is working slowly and screen is flickering with VBEMP installed, especially when moving large windows and scrolling texts you may improve it:

  • Windows 2000 (and later): go to Control Panel -> Display -> Settings tab -> Advanced button -> Troubleshooting tab and move Hardware acceleration slider to the left position (None). In Windows XP/2003 Server, make sure that Write Combining Checkbox is set on. Details here: MSKB: How to Change the Graphics Hardware Acceleration Setting in Windows (Q263391)
  • Windows NT 4.0 (and NT 3.5x): use new framevbe.dll - replace standard %SystemRoot%SYSTEM32framebuf.dll with it.

Installation note 2: Starting from version dated 10.19.2007, vbemp?.zip contains these variants of VBEMP driver:

  • OEM - additional files for unattended VBEMP installation
  • VBE30XP2003PNP - Windows XP/2003 PnP-version (VBE 1.x/2.0/3.0)
  • VBE20XP2003PNP - Windows XP/2003 PnP-version (VBE 1.x/2.0)
  • VBE30XP2003LEGACY - Windows XP/2003 LEGACY-version (VBE 1.x/2.0/3.0)
  • VBE20XP2003LEGACY - Windows XP/2003 LEGACY-version (VBE 1.x/2.0)
  • VBE30W2KPNP - Windows 2000 PnP-version (VBE 1.x/2.0/3.0)
  • VBE20W2KPNP - Windows 2000 PnP-version (VBE 1.x/2.0)
  • VBE30W2KLEGACY - Windows 2000 LEGACY-version (VBE 1.x/2.0/3.0)
  • VBE20W2KLEGACY - Windows 2000 LEGACY-version (VBE 1.x/2.0)
  • VBE30NT4 - Windows NT 4.0 version (VBE 1.x/2.0/3.0)
  • VBE20NT4 - Windows NT 4.0 version (VBE 1.x/2.0)
  • VBE30NT35X - Windows NT 3.5x version (VBE 1.x/2.0/3.0)
  • VBE20NT35X - Windows NT 3.5x version (VBE 1.x/2.0)
  • VBE30NT31 - Windows NT 3.1 version (VBE 1.x/2.0/3.0)
  • VBE20NT31 - Windows NT 3.1 version (VBE 1.x/2.0)

Installation note 3: As you can see, there are two versions of VBEMP driver for Windows 2000/XP/2003/PE - PnP and LEGACY. And there are VBE20 and VBE30 driver types. What is it for:

  • PnP-version: for Plug'n'Play-cards only (i.e. PCI/AGP/PCIe Bus).
  • LEGACY-version: for nonPnP-cards (i.e. ISA/VLB/MCA Bus) and also for WinPE direct VGA.SYS replacement.
  • VBE30-version: supports refresh rate switching mechanism (you need a VBE30-compatible card and a CRT display to make this stuff work). These refresh rates are supported: 50,60,70,72,75,80,85,90,100,120,140,144,150,160,170,200,240. Separately supported modes: 800x600x56Hz, 1024x768x43 interlaced. If you ever see 55 Hz in mode list it means - default or safe refresh.
  • VBE20-version: does NOT support refresh rate switching mechanism (use it, if you have a non-CRT monitor or your card is NOT VBE30 compatible). This version is HIGHLY recommended for use in virtualization environment (Bochs, QEMU, VMware...).

Installation note 4: By default, any Plug'n'Play video cards will be detected CORRECTLY by 2000/XP/2003 version of my driver. But if you wish, you MAY add your video card's PCI VENDOR/DEVICE ID in vbemppnp.inf so your card will named as it is or you can select the driver manually when Windows firstly find an unknown device. This is an optional operation!
Sample:

To create a string you may use Craig Hart's PCI32 tool mentioned below, here is a sample listing:

Installation note 5: My driver does not provide any support for running fullscreen DOS applications in VESA graphics modes. VGA.SYS controls it and in most cases it traps i/o ports and prevents VESA-based programs to run correctly. There are third-party patches - WinXPFix Utility (http://www.nomissoft.com/service.html#as2downloads) and 'Videoport driver patch for VESA in NTVDM' (http://www.volny.cz/martin.sulak/, direct download videoprt.zip) that fixes VGA.SYS behaviour. Try them if you need to run DOS programs in Windows. I am not affiliate with author(s) of these programs.

Installation note 6: By default system core Microsoft-made FRAMEBUF.DLL driver used in conjunction with VBEMP driver as usermode component. But there is a problem - it filters 15-bpp modes. There are three options to resolve this problem:

  1. Access only 16-bpp modes:
    • Use default FRAMEBUF.DLL
  2. Access only 15-bpp modes:
    • Use default FRAMEBUF.DLL and registry parameter VBE_RGB555 = 1
  3. Access both 15-bpp and 16-bpp modes (w/o acceleration):
    • Use modified FRAMEBUF.DLL
  4. Access both 15-bpp and 16-bpp modes (with acceleration):
    • Use FRAMEVBE.DLL

Installation note 7: If you trying to use VBEMP driver with ISA/MCA/VLB card in most cases you must play with the following BIOS Setup options:

  • 'ISA LFB Base Address'
  • 'ISA Linear Frame Buffer'
  • 'ISA VGA Frame Buffer Size'
  • 'Memory Hole At 15M-16M'
so system memory will not crossover with videocard's memory.

* To get RELEASE-version of this driver (which is more stable, smaller & faster than DEBUG-version) you should contact me by e-mail & send me report generated by INFOVBE.EXE tool, so I could send you RELASE-version of the driver by e-mail. I recommend this version after you get completely sure that DEBUG-version works with your card properly.

** If universal version does not work with your card, you may try Manual version. To get such version you should contact me by e-mail & send me report generated by INFOVBE.EXE, so I could send you personal driver for your video card by e-mail.

*** How to install VBEMP driver in Windows PE environment:
  1. For CD-installation: place vbemp.sys in I386SYSTEM32DRIVERS dir, vbempnp.inf in I386INF dir. I've also recommended to remove display.inf from I386INF dir.
  2. For HDD-installation: place vbemp.sys in MININTSYSTEM32DRIVERS dir, vbempnp.inf in MININTINF dir. I've also recommended to remove display.inf from MININTINF dir.
  3. After WindowsPE boots, run this: This line will start the driver.
How to install legacy VBEMP driver in Windows PE environment:
  1. Replace %SystemRoot%SYSTEM32DRIVERSVGA.SYS with my one and reboot.

Registry settings

To configure VBEMP driver you can also use VBEMP Control Panel extension. Here are the values:
Meaning : if '0'-'4' or key is not exists Shadow Buffering is disabled. if '5' - enabled. This value has meaning for all versions of VBEMP, working under Windows2000 and later (XP/2003). Recommended setting is 5.
Restart needed : Yes.
Meaning : if '0' or key is not exists VBEMP in 256-color modes uses standard palette, if '1' - greyscaled one.
Restart needed : No.
Meaning : This value has meaning only for ISA/MCA/VLB cards. (first appear in may2007 version!).
Restart needed : Yes.
Meaning : This value has meaning only for ISA/MCA/VLB cards. You get this value from video card documentation or you must know it definitely and have some options:
  1. If this value is below 16Mb line (< 0x1000000) and you have less than 16Mb system memory it's OK to install VBEMP without additional steps.
  2. If this value is below 16Mb line (< 0x1000000) and you have 16Mb or more system memory you must enable 'Memory hole option' in your computer BIOS Setup Program.
  3. If this value is above or equal 16Mb line (>= 0x1000000) and you have 16Mb or more system memory make sure that video- and system memory spaces are NOT crossover. If they crossover, you have no option to install VBEMP on such computer. In this case, you may try to disable or limit memory use to value below frame buffer base by using /MAXMEM or /BURNMEMORY switch in your boot.ini file.
Frame buffer MUST NOT crossover you system memory region!
This value has meaning only for ISA/MCA/VLB cards. (first appear in may2007 version!).
Restart needed : Yes.
Meaning : if '0' or key is not exists Write Combining feature (USWC) is disabled, if '1' - enabled. (first appear in june2007 version!).
Restart needed : Yes.
Meaning : if '0' or key is not exists frame buffer memory is aligned to 64Kb boundary, if '1' - aligned to 4Mb boundary, if '2' - all adapter memory allocated at once. '1' setting is recommended when

Video Controller Vga Compatible Driver Download Xp

Write Combining feature (USWC) is enabled. (first appear in june2007 version!).
Restart needed : No.
Meaning : if '0' or key is not exists Vertical sync polarity is negative, if '1' - positive. (first appear in june2007 VBE30 version only!).
Restart needed : No.
Meaning : if '0' or key is not exists Horizontal sync polarity is negative, if '1' - positive. (first appear in june2007 VBE30 version only!).
Restart needed : No.

The settings for the HSync and VSync polarity need to be obtained from the monitors papers. As a guideline you can assume that the 640 x 400 mode uses -Hsync and +Vsync, the 640 x 480 modes mainly use +Hsync and +Vsync and all higher modes (800 x 600 and above) mainly use -Hsync and -Vsync polarities.

Meaning : if key is not exists VBEMP does use mode filtering. (first appear in july2007 version!).
Restart needed : Yes.
Meaning : if '0' or key is not exists VBEMP does not detect PNP display using PnP-manager, if '1' - detects it. (first appear in june2007 version! Not for legacy-mode drivers!).
CompatibleRestart needed : Yes.
Meaning : if '0' or key is not exists VBEMP does not detect PNP display using internal driver routines, if '1' - detects it. (first appear in july2007 version!).
Restart needed : Yes.

Video Controller Vga Compatible Driver Error


Meaning : When VBE_EDID = 1, EDID block is written here. (first appear in july2007 version!).
Meaning : if '0' or key is not exists display scaling is on, if '1' - display scaling off and centered, if '2' - display scaling off and top left corner. This value has meaning only for nVidia cards connected to LCD display via DVI.(first appear in january2009 version!).
Restart needed : Yes.
Meaning : if '0' or key is not exists R5G5B5 modes reported as 15-bpp and R5G6B5 - as 16-bpp, if '1' - R5G5B5 modes reported as 16-bpp and R5G6B5 - as 15-bpp. This change needs for correct Microsoft FRAMEBUF.DLL driver, which cannot use mode when it reported as 15-bpp. (first appear in june2010 version!).
Restart needed : Yes.

Screenshots. VBEMP NT Project in work :)

  • Windows NT 3.51 Workstation SP5 NT3-1 | NT3-2 | NT3-3
  • Windows NT 4.00 Workstation SP6a NT4-1 | NT4-2 | NT4-3
  • Windows 2000 Professional SP4 NT5-1 | NT5-2 | NT5-3 | NT5-4 | NT5-5 | NT5-6 | NT5-7 | NT5-8
  • Windows XP Professional SP2 NT51-1 | NT51-2 | NT51-3 | NT51-4 | NT51-5 | NT51-6 | NT51-7 | NT51-8

Instruction: Complete VBEMP driver removal from WinNT/2K/XP/2K3 system

  1. Remove files:
  2. Delete your card from Device Manager or clean Registry hives:

Ke386CallBios() function

Declaration, import NTOSKRNL.LIB

Ke386CallBios() call sample

NB!!! You may call it from any function in your Windows 2000 (XP/2003 or NT) video miniport driver, except for DriverEntry() & HwFindAdapter(), this code must exist in HwFindAdapter(): And here is the function call sample ( when IRQL = 0!!! ): Windows NT 3.x is a special case. Before FIRST CALL to Ke386CallBios() you must call VideoPortInt10() any way you like. Like this:

Additional information

Official VESA BIOS Extensions 2.0 standard information - http://www.vesa.org/public/vbe/vbe20.pdf.

Official VESA BIOS Extensions 3.0 standard information - http://www.vesa.org/public/vbe/vbe3.pdf.

Official VESA BIOS Extensions 3.0 standard information - http://www.vesa.org/public/vbe/vbecore3.pdf.

Official VESA BIOS AF Extensions standard information - http://www.vesa.org/public/vbe/VBE-AF07.pdf.

Official VESA BIOS DDC Extensions 1.1 standard information - http://www.vesa.org/public/vbe/VBEDDC11.pdf.

THE VESA GENERALIZED TIMING FORMULA (GTF) Excel™ spreadsheet - http://www.vesa.org/Public/GTF/GTF_V1R1.xls.

VESA COORDINATED VIDEO TIMING (CVT) GENERATOR Revision 1.1 Excel™ spreadsheet - http://www.vesa.org/Public/CVT/CVTd6r1.xls.

Help file 'Display and print devices: Windows XP DDK' (Built on Friday, February 18, 2005) - [?],[?],[?].

SciTech Software Inc released commercial version of a similar driver (SciTech SNAP Graphics changelog) for Windows, OS/2, QNX & Linux. These versions are 21-day trial.

  1. Download Windows 2000/XP Version 3.1.4 DPVL beta2 [dpvlbeta2.zip].
  2. Download Windows NT 4.0 Version 3.1.1 [snap-winnt-3.1.1.exe]. Supported hardware.
  3. Download Windows NT 4.0 Version 3.1.3 beta 1284 [snap-winnt-3.1.3-1284.exe].
  4. Download DOS Version 3.1.1 [snap-dos-3.1.1.exe]. Supported hardware.
  5. Download IBM OS/2 (eCS) Version 3.1.8 [snap-os2-3.1.8.exe]. Supported hardware.

A more recent Personal (6-month trial) version you may get after FREE registering at http://my.scitechsoft.com/navigate.php.

Video controller vga compatible driver

Visit http://et6000.narod.ru/, which contains driver & sources of Tseng Labs ET6000, ET6100 and ET6300 PCI video cards for Windows 2000/XP.

VIDEOSIM.SYS frame buffer simulator sample videodriver source from Windows NT 4.0 DDK [?],[?],[?].

Video Controller (vga Compatible) Driver Download

MIRROR.SYS frame buffer mirror sample videodriver source from Windows 2000 DDK [?],[?],[?].

Visit ReactOS operating system 'tm subversion repository to review the sources of its most recent video drivers - http://svn.reactos.org/.../miniport/

Visit VirtualBox 'tm subversion repository to review the sources of most recent driver for virtual videoadapter - http://www.virtualbox.de/.../WINNT/Graphics?rev=1

Here you can find some tests and benchmarks which I use to test performance of my driver - [?],[?],[?]

Here are the list of third party software, which is compatible with VBEMP driver and provides limited support of 3D acceleration. This list also covers Windows XP/2003 and later with VGA.SYS driver.

Name

Owner

API

Compatibilty

Notes

Reference Rasterizer (DitectX SDK)

Microsoft

DX8, DX9

Same as DirectX, x86/x64

Supports shaders, Slow

RGB Rasterizer (DitectX SDK)

Microsoft

DX8, DX9

Same as DirectX, x86/x64

No shaders support, Faster than reference

Pixomatic

RAD Game Tools

DX8, DX9

Windows9x/NT4 and later

Supports SMP. No shaders support, Faster than MS RGB Rasterizer

SwiftShader 2.0/3.0

TransGaming

DX8, DX9

Windows 2000 and later

Supports SMP. Since v 3.0 supports x64, but Windows 2000 is dropped. Some slower than Pixomatic. Shaders support. Problems with FFP rendering.

Mesa3D

open-source

OpenGL

Windows9x/NT4 and later

Newer versions supports Windows XP and later.

Visit VOGONS Vintage Driver Library for Mesa3D, SwiftShader drivers.

Here is an older wrappers, renderers which are tested: Realtech VR DXGL Wrapper, AltOpenGL, TechLand Soft OpenGL, mesaFX OpenGL, SciTech Software GLDirect.

Tested video cards/chipsets

  1. VBE 3.00 INTERNAL Intel 6/7/8 Series Chipset Graphics
  2. VBE 3.00 INTERNAL Intel G31/G33/G41/G43/G45 Graphics
  3. VBE 3.00 INTERNAL Intel G963/G965 Graphics
  4. VBE 3.00 INTERNAL Intel 945G Graphics
  5. VBE 3.00 INTERNAL Intel 915G Graphics
  6. VBE 3.00 INTERNAL Intel 910G Graphics
  7. VBE 3.00 INTERNAL Intel 865G Graphics
  8. VBE 3.00 INTERNAL Intel 852G Graphics
  9. VBE 3.00 INTERNAL Intel 845G Graphics
  10. VBE 3.00 INTERNAL Intel 815G Graphics
  11. VBE 3.00 INTERNAL Intel 810 Graphics
  12. VBE 2.00 AGP 8Mb ATI Rage 3D Pro AGP 2x (BGA Package)
  13. VBE 2.00 AGP 8Mb ATI Rage P/M Mobility AGP 2x
  14. VBE 2.00 AGP 32Mb ATI Rage128 PF/Pro AGP 4x (TMDS)
  15. VBE 2.00 AGP 64Mb ATI Radeon 9000 Series (RV250)
  16. VBE 2.00 INTERNAL ATI Radeon Xpress 200M Series
  17. VBE 3.00 16Mb? ATI Radeon X1650 Series (RV530 LE)
  18. VBE 3.00 16Mb? ATI Radeon X1950 GT [RV570]
  19. VBE 3.00 AGP 16Mb 3Dfx Interactive Voodoo3 2000
  20. VBE 3.00 PCI 4Mb nVidia RIVA 128 2D/3D Gui Accelerator
  21. VBE 3.00 AGP 4Mb nVidia RIVA 128 2D/3D Gui Accelerator
  22. VBE 3.00 AGP 16Mb nVidia RIVA TNT GUI+3D Accelerator [NV4]
  23. VBE 3.00 AGP 16Mb nVidia RIVA TNT2 Model 64 [NVM64]
  24. VBE 3.00 AGP 32Mb nVidia GeForce2 MX/MX400 [NV11]
  25. VBE 3.00 AGP 64Mb nVidia GeForce2 GTS/PRO [NV15]
  26. VBE 3.00 AGP 64Mb nVidia Geforce3 Ti 200 [NV20]
  27. VBE 3.00 AGP 128Mb nVidia GeForce FX 5200 [NV34.3]
  28. VBE 3.00 INTERNAL nVidia GeForce 6100 nForce 430
  29. VBE 3.00 nVidia GeForce 7600GS
  30. VBE 2.00 PCI 4Mb Matrox MGA-2164W Millenium II PCI
  31. VBE 3.00 AGP 16Mb Matrox MGA-G450 AGP
  32. VBE 3.00 AGP 8Mb Matrox MGA-G200 AGP
  33. VBE 2.00 AGP 4Mb Matrox MGA-G100 AGP
  34. VBE 2.00 PCI 4Mb TSENG LABS Inc ET6000
  35. VBE 1.32 INTERNAL 1Mb TSENG LABS Inc ET4000
  36. VBE 2.00 AGP 4Mb S3 Inc 86C368 Trio3D/2X
  37. VBE 2.00 PCI 2Mb S3 Inc 86C375 ViRGE/DX
  38. VBE 2.00 VLB 2Mb S3 Inc Vision964
  39. VBE 2.00 INTERNAL 2Mb Cirrus Logic CL-GD546
  40. VBE 1.02 INTERNAL 1Mb Cirrus Logic CL-GD5428
  41. VBE 1.02 INTERNAL 512Kb Cirrus Logic CL-GD5424
  42. VBE 1.02 VLB 1Mb Cirrus Logic CL-GD5428
  43. VBE 1.02 PCI 1/2Mb Cirrus Logic CL-GD5446 PCI
  44. VBE 1.02 PCI 2Mb Cirrus Logic CL-GD546x PCI
  45. VBE 2.00 INTERNAL Trident CyberBlade i7
  46. VBE 1.02 ISA 1Mb Trident 8900
  47. VBE 1.02 ISA 512Kb Trident 9000i [True Color DAC]
  48. VBE 1.02 ISA 256Kb Realtek 3106 [RTG3106]
  49. no VBE ISA 256KB Cirrus Logic CL-GD5401 - Acumos VGA (AVGA1)
  50. VBE 2.00 PCI 8Mb? VirtualBox VBE Adapter (Innotek VirtualBox)
  51. VBE 2.00 PCI 16Mb VMware SVGA II (VMware)
  52. VBE 2.00 PCI 4Mb Cirrus Logic CL-GD5446 PCI (QEMU)
  53. VBE 2.00 PCI 4Mb IBM Plex86/Bochs VBE Adapter (QEMU/Bochs)
  54. VBE 2.00 PCI ?Mb IBM Plex86/Bochs VBE Adapter [vmware] (QEMU/Bochs)
  55. no VBE ISA 256KB Elpin VGABIOS (Bochs)

Driver troubleshooting

When you have problems with VBEMP, there are two basics scenarios:

  1. Computer starts, but driver is not working properly.
  2. Computer not starts, i.e. crashes, having BSOD or 'hang'.

Before debugging try these actions, provided below:

  1. Physically remove memory chips or uses /MAXMEM boot.ini's switch to do it in this manner (if you have 1024 Mb RAM): 512 -> 256 -> 128 -> 64 -> 32 -> 16 -> 8.
  2. Upgrade motherboard's BIOS to the latest version.
  3. Clear CMOS settings to default or safe.
  4. Decrease AGP Aperture in BIOS as it is unused by VBEMP.
  5. Temporarily remove any external controllers as: usb, sound, hdd, lan or others.
  6. Try a videocard with another bus: AGP, PCIe, PCI, onboard.

To start debugging process you MUST request a LOGGED-version (for method 1) or a DEBUG-version (for methods 2,3) of driver from me by e-mail. For methods 2,3 you MUST READ this article WinDbg basics HOWTO for QA engineers to understand which debug method is suitable in your case. Here are the solutions in brief:

  • Method #1 (using logged version): Install logged version. When it runs, logging is made to %SystemRoot% location (which is usually 'C:WINDOWS' or 'C:WINNT') to logfile vbemp.log. Please send me this log after you system is loaded or crashed.
  • Method #2 (using DbgPrint logger): Download KdPrint/DbgPrint logger http://alter.org.ua/en/soft/win/dbgdump/#download (the 1st one, 'archive with all necessary files'). For NT 3.5x debugging use THIS[?],[?],[?] version. It also works with later Windows NT versions.
    • Extract it to somewhere (for example, in C:DbgDump)
    • Start cmd.exe (via Start ->Run, simply enter there cmd.exe and click Run)
    • In opened window enter:
    • Reboot. Make sure that logfile is made. C:BootVbe.log must exist.
    • Install VBEMP driver.
    • Reboot. After that, you get a logfile from my driver C:BootVbe.log. Send me it by e-mail.
    • Now it is time to disable logger: run cmd.exe (see above)
    • In opened window enter:

  • Method #3 (using WinDbg/i386KD): You may use Windows 32bit x86 kernel debugger WinDbg/i386KD to trace debug logging information from the driver via serial port.
    Connect two PC's using nullmodem serial cable with this pinout:
    • For Windows NT3/NT4/W2K/XP/2003:
      On target PC - edit boot.ini file, placed in the root dir of your hard drive; before: After: When starting target PC you must select in menu 'Windows NT Version 4.00 DBG' line for debugmode activation.
    • For Windows NT3/NT4/W2K/XP/2003 in first boot stage and also for WindowsPE:
      On target PC - edit txtsetup.sif file, placed in the /I386 or /MININT dir of your boot drive; before: After:
    On host PC - install Microsoft x86 32-bit Debugging Tools (http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx). After that create cmd-file for starting i386kd.exe and place it in Debugging Tools directory:
    Firstly, connect two PC's via serial cable.
    Secondly, start host PC and execute cmd-file.
    Then start target PC. It will be started in debugmode. If target PC hangs, break i386kd on debugger PC ([Ctrl]+[B],[Enter]) and send vbe.log to me.

After you produce logs from driver you can give me additional information about your system and video adapter. This step is optional!!! Without driver logs this information is meaningless for me!!!

  1. Collect VESA BIOS and system information :

    • Download NEW 2in1INFOVBE.EXE ([?],[?],[?]) tool. This archive also contains 1.44 Mb bootable floppy image with this tool for users who don't have DOS or Windows9x already installed.You must run it under pure MS-DOS (Real Mode) like:
    • Download Craig Hart's PCI32, pci104vka tool(s) and PCI devices list (place them in one directory overwriting existing version of pcidevs.txt). You must run it under Windows NT/2K/XP/2003 like: Please send me vbe.txt, devpci.txt, devpci.htm in compressed view (rar, zip, 7z...) by e-mail.
  2. For ISA/MCA/VLB card owners: There are new tools - lfb_det.exe/lfb.exe, which can automatically detect linear frame buffer address of your card in system address space. They are distrubuted only by request via e-mail. Read pp.3 ('Collect system information'), make logs and I will send you these tools.

VBE FAQ: VESA BIOS Extensions standard deviation list

Cards (chips) affected

Description

Intel 845G, 855G, 865G, 915G and later

PRB: Cannot set native resolutions i.e. 1024x600, 800x480, 1280x800, mostly on notebooks with Intel integrated graphics.
DETAILS: In Video BIOS - mode tables these non-standard modes are absent or filtered. When you try to ask BIOS to set it, BIOS returns an error.
FIX: Update your BIOS with latest version or patch it. In DOS/Windows9x it is possible to use software Intel TSR VBIOS VESA-driver.

Intel 845G, 855G, 865G, 915G and later

PRB: Cannot set resolution higher than 800x600x8bits and 640x480x16bits.
DETAILS: In Video BIOS frame buffer size hardwired to 832 Kbytes, which is not enough even for 1024x768x16bit = 1024*768*2 = 1572864, 1572864 > 832K.
FIX: Update your BIOS with latest version or patch it. In DOS/Windows9x it is possible to use software Intel TSR VBIOS VESA-driver.

Intel 810E, 815E series

PRB: Cannot use linear frame buffer, but card identifies itself as VBE 3.0 compatible.
DETAILS: In Video BIOS linear frame buffer support is absent, but card itself supports linear frame buffer.
FIX: None known.

ATI Radeon Xkkkk series (starting with X700)

PRB: Cannot use custom screen refresh rates, but card identifies itself as VBE 3.0 compatible.
DETAILS: In Video BIOS screen refresh rates switching code is absent. When you try to ask BIOS to set it, BIOS immediately returns VBE error 0x34F.
FIX: None known.

nVidia GeForce 5xxx/6xxx/7xxx (and newer ones)

PRB: Cannot use custom screen refresh rates, but card identifies itself as VBE 3.0 compatible.
DETAILS: In Video BIOS screen refresh rates switching code is changed. When you try to ask BIOS to set it, BIOS always sets default refresh (60 Hz).
FIX: None known.

Intel 7/8 Seies Chipset Graphics (and newer ones)

PRB: Cannot use custom screen refresh rates, but card identifies itself as VBE 3.0 compatible.
DETAILS: In Video BIOS screen refresh rates switching code is changed. When you try to ask BIOS to set it, BIOS always sets default refresh (60 Hz).
FIX: None known.

nVidia GeForce 5xxx/6xxx/7xxx (and newer ones)

PRB: Cannot set any resolution higher than 800x600.
DETAILS: In Video BIOS - mode tables 1024x768 modes and higher are absent or filtered. When you try to ask BIOS to set it, BIOS returns an error.
FIX: Update your BIOS with latest version or patch it.

VESA 1.x cards

PRB: When accessing fullscreen textmode, computer 'hangs'.
DETAILS: In Video BIOS mode-set routines are badly written for calling them in 32 bit protected mode.
FIX: None known. In DOS/Windows9x it is possible to use software VESA-driver.

Different VESA cards

PRB: When calling VBE functions, highword bits of EAX register and may be others (i.e. 0x????0000) may contain garbage.
DETAILS: In Video BIOS VESA routines are badly written for calling them using 32 bit registers.
FIX: Filter highword bits of EAX.

Matrox, Trident, TsengLabs cards

PRB: When calling VBE functions, 16-bit R5G5B5 and R5B6G5 modes both reported as 16-bit. In some cases it confuses VESA programs - if I choose 16-bpp mode, which color model (555 or 565) will be used?
DETAILS: In Video BIOS VESA routines are incorrectly written. Microsoft FRAMEBUF.DLL driver confuses and skips 15-bpp modes if they are reported as 15-bpp. If both 555 and 565 modes are reported as 16-bpp, FRAMEBUF.DLL uses first scanned one.
FIX: When choosing such modes check both bpp value (15 or 16) and bits values (555 or 565). I've made a modified version of FRAMEVBE.DLL.


Project history

  • JUL 12, 2005: initial 'Manual' version is made.
  • FEB 20, 2006: first public released 'Universal' version of vbemp.sys (VbempXP/VbempNT5/VbempNT4/VbempNT3). Includes both VBE 2.0 code and experimental VBE 1.02 code. There are some problems with ATI Technologies cards.
  • NOV 04, 2006: 320x200x8bit 'tricky' driver (Vga13H) for old VBE 1.02 cards released due to some incompatibilities with such cards in main version of driver - TEMPORARY solution for implementing LFB-emulation.
  • NOV 18, 2006: new BETA of driver. All code related to VBE 1.02 and bank switching removed. do not try to use this driver on VBE 1.02 cards.
  • NOV 28, 2006: again, new BETA of driver. VBE 1.02 ISA-based cards now works only in 320x200x8bit mode. Begin driver adaptation to PCI video cards based on VBE 1.02 (1995-1998 yy.).
  • DEC 01, 2006: previous 'Universal' version is revised & replaced in downloads.
  • DEC 02, 2006: also renew 'Manual' version.
  • DEC 11, 2006: last 'Universal' version is now 2in1: MTRR USWC and normal. MTRR version is somewhat faster. PnP is working better now.
  • DEC 23, 2006: minor site/page re-design.
  • DEC 26, 2006: current driver quickly adapted to Windows XP/2003 from scratch. Some screenshots of 'Vbemp in work' added.
  • DEC 29, 2006: site cleanup, previously released Windows XP/2003 driver version revised - removed nonworking functions.
  • JAN 07, 2007: beta version of driver for Windows XP/2003 released with VESA DDC support and refresh rates switching (43-120Hz).
  • JAN 10, 2007: 320x200x8bit 'tricky' driver (Vga13H) updated with recent changes in PnP, Monitor DDC and VBE power management features.
  • FEB 13, 2007: released last betas of VBEMP for NT3/NT4/W2K with APM and VBE 3.0 support in one archive of January 13th.
  • MAR 24, 2007: released last betas of VBEMP for NT3/NT4/W2K with APM and VBE 3.0 support in one archive of February 19-20th. Site re-design.
  • MAR 31, 2007: due to some stability problems in VBE 3.0 code two versions of VBEMP (except for XP/2003 version) beta released now: VBE30 and VBE20 (VBE20 version does not support refresh rate switching).
  • APR 18, 2007: due to user convenience BUILDVBE tool merged with INFOVBE tool.
  • APR 19-22, 2007: bugfixed beta VBEMP re-released. XP/2003 version is not affected.
  • APR 25, 2007: released two NEW betas: STDVID (4 EGA/VGA 16-color modes 0Dh/0Eh/10h/12h) and VGAMONO (emulate True Color on 640x480x2 - 11h).
  • APR 27, 2007: VBE30 and IOCTL calls are now more accurate.
  • MAY 04, 2007: detailed INFOVBE and NEW VBE3TEST tools are released.
  • MAY 17, 2007: new VBEMP with pre-alpha ISA/MCA/VLB LFB cards support released.
  • JUN 03, 2007: new VBEMP with legacy-mode support released.
  • JUN 17, 2007: VBEMP with minor fixes and NT 3.1/NT 3.5 support is out.
  • JUN 25, 2007: minor site changes.
  • JUL 15, 2007: VBEMP control panel extension is made.
  • JUL 21, 2007: INFOVBE tool updated.
  • JUL 22, 2007: recent VBEMP with mode filtering, monitor detection enhancements and parsing edid in legacy mode.
  • AUG 17, 2007: 'Manual' version release refreshed with latest VBEMP changes and some minor fixes in installation.
  • AUG 31, 2007: minor site changes.
  • OCT 6-28, 2007: small fixes in VBEMP, VBEMPCpl and new FRAMEVBE library.
  • MAR 05, 2008: minor site changes and new FRAMEVBE library is out.
  • APR 19, 2008: long awaited new version of VBEMP is out.
  • APR 26, 2008: small fixes in VBEMP and site redesigned.
  • APR 29, 2008: INFOVBE tool updated.
  • OCT 05, 2008: new VBEMP beta.
  • NOV 16, 2008: another VBEMP beta, mostly VESA 3.0 GTF related.
  • NOV 30, 2008: FRAMEVBE library with NT 3.5x support released.
  • DEC 19, 2008: new VBEMP control panel extension released.
  • JAN 03, 2009: VGA13h back to life, replaces STDVID.
  • JAN 08, 2009: CL54xx driver bugfix release.
  • JAN 14, 2009: INFOVBE, VBEMP releases with minor enhancements.
  • JUN 05, 2010: new FRAMEBUF, FRAMEVBE beta.
  • JUN 09, 2010: new VBEMP beta.
  • JAN 01, 2015: long awaited :) new VBEMP and CL54xxMP betas.
  • DEC 01, 2019: long awaited :) new VBEMP and CL54xxMP betas.

Changelog

License

VBEMP NT driver Project *
License for use and distribution

* term abbreviated to VBEMP below.

  1. The authors - Bearwindows and AnaPa Corporation, exclusively own all copyrights to VBEMP.
  2. Anyone may use this software free for noncommercial use only.
  3. For commercial use, send a email request for pricing.
  4. The VBEMP, may be freely distributed, with exceptions noted below, provided the distribution package is not modified. No person or company may charge a fee for the distribution of VBEMP without written permission from the copyright holder. The VBEMP may not be bundled or distributed with any other package without written permission of the copyright holder. Distribution of any VBEMP version before 10/19/2007 or unauthorized site content mirroring is strictly prohibited.
  5. VBEMP IS DISTRIBUTED 'AS IS'. NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED. YOU USE AT YOUR OWN RISK. THE AUTHOR WILL NOT BE LIABLE FOR DATA LOSS, DAMAGES, LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING OR MISUSING THIS SOFTWARE. THE LICENSE TERMS CONTAINED IN THIS DOCUMENT ARE SUBJECT TO BEING CHANGED, WITHOUT NOTICE, IN FUTURE EDITIONS.
  6. You may not use, copy, emulate, clone, rent, lease, sell, modify, decompile, disassemble, otherwise reverse engineer, or transfer the licensed program, or any subset of the licensed program, except as provided for in this agreement. Any such unauthorized use shall result in immediate and automatic termination of this license and may result in criminal and/or civil prosecution.
  7. Bearwindows and AnaPa Corporation reserve all rights not expressly granted here.
  8. Installing and using VBEMP signifies acceptance of these terms and conditions of the license.
  9. If you do not agree with the terms of this license you must remove VBEMP files from your storage devices and cease to use the product.

Thank you for using VBEMP.

Bearwindows and AnaPa Corporation

Direct3D, DirectDraw, DirectShow, DirectX, Microsoft, MS-DOS, Visual C++, Win32, Win32s, Windows, Windows XP, Windows 2003 Server and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries/regions.
The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
© AnaPa Corporation 1988 – 2019. All rights reserved.
E-Mail: bearwindows_at_operamail_dot_com | Last update: December 1st 2019
Enable JavaScript to see stats