Cirruslogic Driver

Posted By admin On 20/11/21

Home pageEN-US EnglishRU RussianOther projects (EN-US English)

Realtek MSI Microphone Driver for Windows 10 (x64) Driver Info Driver Date File Size: 11.98 KB Download URL. Download for free Everest ES831610.19.59.203 microphone Driver for Windows 10 (x64).

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.
  • VBEMP.DRV is a standard Windows 9x™ Video Display Driver.
  • It supports ALL of MS Windows 9x™ Family (Windows 95, Windows 98, Windows 98SE, Windows Me)
  • 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 Cirrus Logic chips).
  • 256color(8bit), 16bit, 24bit, 32bit true color modes support.
  • 320x200, 320x240, 320x400, 400x300, 512x384, 640x350, 640x400, 640x480, 720x400, 720x480, 720x576, 800x480, 800x600, 832x624, 1024x600, 1024x768, 1152x864, 1280x600, 1280x720, 1280x768, 1280x800, 1280x960, 1280x1024, 1360x768, 1366x768, 1400x1050, 1440x900, 1600x900, 1600x1200, 1680x1050, 1792x1344, 1856x1392, 1920x1080, 1920x1440, 1920x1200, 2048x1536, 2560x1440, 2560x1600 if these resolutions are supported by your video card's BIOS. *
  • Advanced Power Management (APM) and Monitor Detection support are provided by Windows itself.

Planned features :

  • VBE 3.0 support (switching refresh rates)
  • Uncached Speculative Write Combining (USWC)
  • Feature to install the driver without reboot
  • VBE 1.02 Support (Banked FB > 64Kb)
  • DirectDraw Support
  • Hardware Video Overlay 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 really 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.drv). My driver does not provide any kind of 3D hardware acceleration (DirectX & OpenGL). For this purpose third-party libraries can be used.

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

Before installing VBEMP.DRV I recommend removing any display drivers installed and switching to the standard VGA mode 640x480x16colors.

System requirements :
  • Windows 95 - latest Service Pack is recommended
  • Windows 98 - latest Service Pack is recommended
  • Windows Me - latest Service Pack is recommended

OS

Version

Description

Link

Windows 9x clones - ALL of them

Release version beta
2014.02.14

Universal VBE20 version. *

[?],[?],[?]

Windows 9x clones - ALL of them

Release version beta
2014.01.31

Universal VBE20 version. *

[?],[?],[?]

Windows 9x clones - ALL of them

Release, debug version pre-beta
2010.06.01

Universal VBE20 version. *

[?],[?],[?]

Windows 9x clones - ALL of them

Release, debug version pre-beta
2008.10.21

Universal VBE20 version. *

[?],[?],[?]

Windows 9x clones - ALL of them

Release version pre-beta
2008.03.23

Universal/Manual VBE20 version. *

[?],[?],[?]

Windows 9x clones - ALL of them

Original source code

FRAMEBUF sample from Windows 9x DDK. Compile it with MASM 6.x.
http://www.mdgx.com/add.htm#DDK

* If universal version does not work with your card, you may try Manual version. To get it 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.

Installation note 0: Current driver unsolved problems:

  • Slow driver operation when user scroll, move or resize a window.
  • Locking and garbage problems when entering DOS WDM or console session.
  • Garbage problems when displaying text with some screen fonts.
Do not ask me about it, just wait for next driver release, which date is TBD.

Installation note 1: If you are experiencing problems while installing my driver read article below. Details here: MSKB: How to install or change a video driver (Q131806)

Installation note 2: 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: go to Control Panel -> Display -> Settings tab -> Advanced button -> Troubleshooting tab and move Hardware acceleration slider to the left position (None). Details here: MSKB: How to Change the Graphics Hardware Acceleration Setting in Windows (Q263391)

Installation note 3: Starting from version dated 2008.03.16, vbemp9x.zip contains these variants of VBEMP driver:

'UNIVERSAL':
  • VBE9xBASE16 - version (VBE 2.0+) for ANY cards, 8/16 bit color ONLY
  • VBE9xUNI - version (VBE 2.0+) for ANY cards
'MANUAL' (obsolete):
  • VBE9xATI - version (VBE 2.0+) for ATI, 3dfx, Cirrus Logic, Intel740, TSENG Labs cards ONLY
  • VBE9xNV - version (VBE 2.0+) for nVidia, Riva128, Intel (845+), Trident, Matrox, S3 cards ONLY
  • VBE9xINTEL - version (VBE 2.0+) for Intel (845+) cards ONLY (experimental version)
  • VBE9xBOCHS - version (VBE 2.0+) for BochsVBE card ONLY
  • VBE9xVIRTUALBOX - version (VBE 2.0+) for VirtualBoxVBE card ONLY
  • VBE9xVMWAREII - version (VBE 2.0+) for VMWare II SVGA card ONLY
Special builds:
  • VBE9xCL54 - version (VBE 1.02) for Cirrus Logic CL-GD54xx cards ONLY
if one version is not working correctly with your card try another or vice versa....

Installation note 3: Version dated 2014.01.31 and later, 140131.zip contains these variants of VBEMP driver:

'UNIVERSAL':
  • 128MB - version (VBE 2.0+) for ANY cards, VRAM memory limited to 128 Mb.
  • 064MB - version (VBE 2.0+) for ANY cards, VRAM memory limited to 64 Mb.
  • 032MB - version (VBE 2.0+) for ANY cards, VRAM memory limited to 32 Mb.
'MANUAL' (140214.zip):
  • ATOMBIOS - version (VBE 2.0+) for AMD/ATI cards with ATOMBIOS - mostly HD series and later.
  • LOGGED - debug version, produces c:vbelog.txt, see Driver troubleshooting section below.
if one version is not working correctly with your card try another or vice versa....

Special folders:

  • NOVESA - VXD driver, which prevent access to VESA modes in DOS session
  • PATCH - contains GETBIOS tool, which can save binary VBIOS from memory into file, mostly named c000.rom, for modifying.
  • PATCH - contains INTELDMP patcher, it can add new video modes into resident Video BIOS for some chips.

    First of all, you must figure out and select what BIOS file is for your video card (it can be either EXE or DAT file), or you can use binary file, dumped by GETBIOS tool.

    In example, provided below we use ALV_1411.EXE - it is for Intel 91xG (Moble).

    How to use it:

    1. Run: INTELDMP ALV_1411.EXE, it prints actual mode table from BIOS file, find one, that you can safely replace with custom mode. Remember which mode to replace and convert mode number to decimal.
    2. Run: INTELDMP ALV_1411.EXE ALV.EXE 48 1024 600, to create a new BIOS file (ALV.EXE) from old (ALV_1411.EXE) with new mode. Note that 48 is a decimal mode number, in p.p. 1 it will be shown as 0x30 (hex).
  • PATCH - contains RAMBIOS tools, which can load and activate binary VBIOS file into memory, replacing default one: rambios.com /i vbios.bin or rambios.exe vbios.bin.
  • PATCHVBIOS - contains INTEL VBIOS collection, see below:

Installation note 3: By default any Plug'N'Play video cards will be detected CORRECTLY by 9x version of my driver. But if you wish, you MAY add your video card's PCI VENDOR/DEVICE ID in vbemp.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 this string you may use Craig Hart's PCI.EXE tool mentioned below, here is a sample listing:

Installation note 4: 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.

Screenshots. VBEMP 9x Project in work :)

  • Windows 95 4.00.1111 (4.00.950 C) [?],[?],[?]
  • Windows 98 Second Edition 4.10.2222 [?],[?],[?]
  • Windows Millennium Edition 4.90.3000 [?],[?],[?]

Instruction: Complete VBEMP driver removal from Win9x system

  1. In %WINDOWS_DIR%SYSTEM.INI modify or add this line in [boot] section:
  2. Remove files:
  3. Delete your card from Device Manager or clean Registry hives:

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.

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.
Cirruslogic Driver

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

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

Here are the list of third party software, which is compatible with VBEMP driver and provides limited support of 3D acceleration.

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.

Cirrus logic driver mac

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 G43 Graphics
  2. VBE 3.00 INTERNAL Intel Q963 (GMA 3000) Graphics
  3. VBE 3.00 INTERNAL Intel 946GZ Graphics
  4. VBE 3.00 INTERNAL Intel 945G Graphics
  5. VBE 3.00 INTERNAL Intel 915G Graphics
  6. VBE 3.00 INTERNAL Intel 82865G Graphics
  7. VBE 3.00 INTERNAL Intel 82845G Graphics
  8. VBE 2.00 AGP 8Mb ATI Rage 3D Pro AGP 2x (BGA Package)
  9. VBE 2.00 AGP 8Mb ATI Rage P/M Mobility AGP 2x
  10. VBE 2.00 AGP 32Mb ATI Rage128 PF/Pro AGP 4x (TMDS)
  11. VBE 2.00 AGP 64Mb ATI Radeon 9000 Series (RV250)
  12. VBE 2.00 INTERNAL ATI Radeon Xpress 200M Series
  13. VBE 3.00 16Mb? ATI Radeon X1650 Series (RV530 LE)
  14. VBE 3.00 16Mb? ATI Radeon X1950 GT [RV570]
  15. VBE 3.00 AGP 16Mb 3Dfx Interactive Voodoo3 2000
  16. VBE 3.00 PCI 4Mb nVidia RIVA 128 2D/3D Gui Accelerator
  17. VBE 3.00 AGP 4Mb nVidia RIVA 128 2D/3D Gui Accelerator
  18. VBE 3.00 AGP 16Mb nVidia RIVA TNT GUI+3D Accelerator [NV4]
  19. VBE 3.00 AGP 16Mb nVidia RIVA TNT2 Model 64 [NVM64]
  20. VBE 3.00 AGP 32Mb nVidia GeForce2 MX/MX400 [NV11]
  21. VBE 3.00 AGP 64Mb nVidia GeForce2 GTS/PRO [NV15]
  22. VBE 3.00 AGP 64Mb nVidia Geforce3 Ti 200 [NV20]
  23. VBE 3.00 AGP 128Mb nVidia GeForce FX 5200 [NV34.3]
  24. VBE 3.00 INTERNAL nVidia GeForce 6100 nForce 430
  25. VBE 3.00 nVidia GeForce 7600GS
  26. VBE 2.00 PCI 4Mb Matrox MGA-2164W Millenium II PCI
  27. VBE 2.00 AGP 4Mb Matrox MGA-G100 AGP
  28. VBE 2.00 PCI 4Mb TSENG LABS Inc ET6000
  29. VBE 2.00 PCI 2Mb S3 Inc 86C375 ViRGE/DX
  30. VBE 2.00 AGP 4Mb S3 Inc 86C368 Trio3D/2X
  31. VBE 2.00 INTERNAL Trident CyberBlade i7
  32. VBE 2.00 PCI 8Mb? VirtualBox VBE Adapter (Innotek VirtualBox)
  33. VBE 2.00 PCI 16Mb VMware SVGA II (VMware)
  34. VBE 2.00 PCI 4Mb Cirrus Logic CL-GD5446 PCI (QEMU)
  35. VBE 2.00 PCI 4Mb IBM Plex86/Bochs VBE Adapter (QEMU/Bochs)
  36. VBE 1.02 INTERNAL 1Mb Cirrus Logic CL-GD5428
  37. VBE 1.02 VLB 1Mb Cirrus Logic CL-GD5428
  38. VBE 1.02 INTERNAL 512Kb Cirrus Logic CL-GD5424

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 (note that with more than 512 Mb RAM Windows 9x may not work correctly without special preparation): 512 -> 256 -> 128 -> 64 -> 32 -> 16 -> 8.
  2. Or enter this line MaxPhysPage=20000 into section [386enh] of system.ini file, limiting accessible RAM to 512 Mb.
  3. Upgrade motherboard's BIOS to the latest version.
  4. Clear CMOS settings to default or safe.
  5. Decrease AGP Aperture in BIOS to lowest value as it is unused by VBEMP.
  6. Temporarily remove or disable in BIOS any devices, external controllers such as: usb, sound, hdd, lan or others.
  7. Try a videocard with another bus: AGP, PCIe, PCI, onboard.
  8. Windows 98/ME only: Try to enable/disable ACPI BIOS support, see ACPIOption registry value. After changing it you must delete (by removing HKEY_LOCAL_MACHINEENUM subtree) and redetect all system devices.

To start debugging process you MUST request a DEBUG-version of driver from me by e-mail. Here are the solutions in brief:

  • Method #1 (using logged version): Manually create c:vbelog.txt. Install logged version. When it runs, logging is made to c:vbelog.txt. Please send me this log after you system is loaded or crashed.
  • Method #2 (using Debugger/WDeb386): Use Microsoft Windows 9x x86 32-bit Debugging Tools to trace debug logging information from the driver via serial port:
    • For Windows 95: search Internet for Win95ddk
    • For Windows 98: search Internet for Win98ddk.exe (19987736 bytes)
    • For Windows 98SE: search Internet for Win98ddk.exe (26377712 bytes)
    • For Windows Me: http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx, winmeddk.exe (1469056 bytes)

    OR Install debugging components only from here: [?],[?],[?] (Win9x/ME only).
    Additional PC with installed Windows 9x/ME is reqired for debugging process. Connect two PC's using this nullmodem serial cable:
    • For Windows 95/98/98SE/ME:
      On target PC - Copy debugger.exe to Windows root directory (as usual it is - C:WINDOWS) and make sure that system.ini resides also there contains these lines:
    On host PC - copy rterm.exe (or rterm98.exe) from target PC. After that create shortcut for it onto Windows 9x desktop.
    Firstly, connect two PC's via serial cable.
    Secondly, start host PC and execute rterm.exe.
    Then start target PC. It will be started in debugmode. If target PC hangs, exit from rterm.exe on debugger PC 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 PCI.EXE, pci104vka tool(s) and PCI devices list (place them in one directory overwriting existing version of pcidevs.txt). You must run it under DOS/Windows 9x like: Please send me vbe.txt, devpci.txt, devpci.htm in compressed view (rar, zip, 7z...) by e-mail.
  2. For ISA/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 distributed 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.

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.


Project history

  • DEC 06, 2007: initial 'semi-automatic' version is made.
  • DEC 08, 2007: fixes and some cleanup in code is made.
  • DEC 13, 2007: first public release of VBEMP 9x web page.
  • DEC 23, 2007: TEMPORARILY announced ability to make a 'Manual' version of VBEMP by request.
  • DEC 26, 2007: VBEMP minor changes.
  • MAR 08, 2008: new MANUAL experimental version made for Intel chips.
  • MAR 15-16, 2008: new UNIVERSAL version is finally made.
  • MAR 22-23, 2008: UNIVERSAL version updated.
  • OCT 21, 2008: new UNIVERSAL version with TSR VBIOS and ASUS EEE PC support.
  • JUN 01, 2010: UNIVERSAL version updated.
  • JAN 31, 2014: new UNIVERSAL version with Intel(r) TSR VBIOS kit.
  • FEB 14, 2014: UNIVERSAL version updated.

Changelog

License

VBEMP 9x 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 – 2014. All rights reserved.
E-Mail: bearwindows_at_operamail_dot_com Last update: February 14th 2014
Enable JavaScript to see stats

Home pageEN-US EnglishRU RussianOther 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)
Driver

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:
Pro 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 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!).
Restart 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.
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-1NT3-2NT3-3
  • Windows NT 4.00 Workstation SP6a NT4-1NT4-2NT4-3
  • Windows 2000 Professional SP4 NT5-1NT5-2NT5-3NT5-4NT5-5NT5-6NT5-7NT5-8
  • Windows XP Professional SP2 NT51-1NT51-2NT51-3NT51-4NT51-5NT51-6NT51-7NT51-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

Cirrus Logic Drivers

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.

Cirrus Logic Driver Update

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.

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 [?],[?],[?].

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

Cirruslogic Driver

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