Домой
| EN-US Английский
| RU Русский
| Другие проекты (EN-US Английский)
Проект VBEMP x86
Универсальный VESA/VBE Видео Драйвер
(для архитектуры Windows NT x86)
Проект начат в Мае 2004 г.
Ключевые возможности :
- Основная ИДЕЯ проекта взята из стандартного дисплейного драйвера XP/2003 VGA.SYS, поддерживающего VBE (VESA BIOS Расширения) 1.02/2.00/3.00+.
- Оригинальный драйвер VBEMP.SYS присутствует в составе операционной системы ReactOS (www.reactos.org), который "слегка" совместим с драйвером из XP/2003.
- VBEMP.SYS - стандартный видео драйвер дисплея для Windows NT™.
- Поддерживается ВСЁ "семейство" Windows NT™ (3.x,4.0,2000(5.0),XP/XPMCE/WFLP 32-bit(5.1),2003 Server 32-bit(5.2)).
- Windows Preinstallation Environment (WinPE) и ReactOS также поддерживаются.
- Поддерживаются также видеокарты, эмулируемые виртуальными машинами: Bochs, QEMU, VMware, Innotek VirtualBox, Microsoft VirtualPC.
- Для нормального функционирования драйвера желательно чтобы BIOS Вашей видеокарты был 100%-совместим со спецификацией VESA Видео BIOS расширений. Сейчас существует множество видеокарт которые не полностью поддерживают интерфейс INT10, предлагаемый VESA/VBE стандартом (Смотрите раздел VBE ЧАВО ниже по тексту).
- Поддержка VBE 2.00+ совместимых PCI/AGP/PCI-E видеокарт с линейным буфером кадра.
- Частичная поддержка VBE 1.x совместимых ISA/EISA/MCA/VLB/PCI видеокарт с линейным буфером кадра (пока только чипы S3, Tseng, CirrusLogic, Trident).
- Под Windows XP™ и далее поддерживаЮтся VBE 1.02 ISA/EISA/MCA/VLB/PCI видеокарты с переключением банков (например, Intel 810/815, старые ISA/VLB-карты). В других случаях эта поддержка ограничена 320x200x8бит режимом.
- Поддержка VBE-несовместимых EGA/VGA видеокарт (старые ISA/EISA/MCA-карты) с переключением банков ограниченная монохромными и 320x200x8бит режимами через дополнительный драйвер VGA13H.
- Для второй "половинки" драйвера используется стандартный user-mode framebuf.dll поставляемый с ЛЮБОЙ Windows NT™
- 256-цветные(8бит), 16бит, 24бит, 32бит режимы поддерживаются.
- Начиная с 320x200x8бит до максимального разрешения поддерживаемого BIOS Вашей видеокарты.
- Фильтрация видео режимов используя реестр (организовано по аналогии с ключом используемым ATI DALRestrictedModesBCD). Вы мoжете отключить ненужные режимы используя эту технологию.
- Под Windows NT 4.00™ и далее поддерживается USWC (Uncached Speculative Write Combining) через использование MTRR регистров процессора.
- Под Windows 2000™ и далее поддерживается Advanced Power Management (т.е. Stand by, Hibernation), Monitor & Child Devices Detection. В Legacy-версии драйвера и NT3/NT4 присутствует ограниченная поддержка этих функций.
- Под Windows 2000™ и далее поддерживается встроенная в Windows GDI технология теневого буфера. Бета поддержка для Windows NT 4.00™ существет в виде модифицированной версии framebuf.dll.
- VBE 3.00+ поддержка: переключение частот обновления экрана (3dfx, nVidia, Intel карты для примера). Обратите внимание, что в некоторых случаях перезагрузка системы ЯВЛЯЕТСЯ ОБЯЗАТЕЛЬНЫМ УСЛОВИЕМ для удачной смены частоты обновления экрана в Windows NT 4.00™/2000™.
- Под Windows 2000™ и далее поддерживается встроенная в Windows поддержка accelerated Mode-X режимов с шириной в 320 пикселей через MODEX.DLL.
Планируемые возможности :
- Поддержка Windows NT 3.1 (сейчас есть в beta-стадии, без поддержки 8-bit режимов)
- Поддержка Windows XP/2003 x64
- Поддержка Windows NT Alpha, MIPS, PowerPC (нужны тестеры)
- Возможность установки драйвера без перезагрузки
- Поддержка Shadow buffer ускорения для NT4 (сейчас есть в beta-стадии)
- Поддержка ICM (управления цветами), вращения и масштабирования
- Поддержка более одного устройства вывода (монитора, видеовыхода)
- Поддержка 2-бит (моно) и 4-бит (16 цветов) для тестирования
- Поддержка старых адаптеров EGA, CGA, Hercules и т.п. для тестирования :)
Этот драйвер рекомендуется использовать в том случае, когда у Вас имеются новые или неизвестные видеокарты и у Вас нет для них соответствующих драйверов. Лучше всего связаться с производителем Вашей видеокарты или найти драйверы в ИНТЕРНЕТЕ. ТОЛЬКО ЕСЛИ Вам ваще не удалось найти драйверы, Я рекомендую использовать мой (vbemp.sys). Мой драйвер прост и не обеспечивает аппаратного 3D ускорения (DirectX & OpenGL).
Если Ваша карта - продукт AMD-ATI Technologies и эта карта определяется двумя устройствами ("Radeon xxxx" и "Radeon xxxx Secondary") только "Ручная" или "legacy" версия может заработать с ней.
Мой драйвер НЕ поддерживает подключение нескольких видеокарт одновременно и эта опция НЕ планируется.
Мой драйвер НЕ поддерживает 64-битные версии Windows XP/2003 и Windows Vista.
Перед установкой VBEMP.SYS я настоятельно рекомендую удалить все драйверы видеокарт, включая любые версии драйвера VBEMP, установленные в системе и переключиться в стандартный VGA-режим 640x480x16цветов.
Системные требования :
- Windows 2003 Server - последний Сервис Пак (SP2) рекомендуется !!!
- Windows XP - последний Сервис Пак (SP3) рекомендуется !!!
- Windows 2000 - последний Сервис Пак (SP4) рекомендуется
- Windows NT 4.0 - последний Сервис Пак (SP6a) рекомендуется, AGP/PCI-E карты могут не работать без Сервис Пака 3 или более
- Windows NT 3.51 - последний Сервис Пак (SP5) рекомендуется
- Windows NT 3.5 - последний Сервис Пак (SP3) рекомендуется
- Windows NT 3.1 - последний Сервис Пак (SP3) рекомендуется
- ReactOS - версия 0.3.x и более
!!! Версия для Windows 2003/Windows XP, в принципе ваще не нужна, потому что ее базовая функциональность уже включена в стандартный VGA.SYS. В отличие от моего драйвера, VGA.SYS поддерживает 4-бит (16 цветов) режимы, но не умеет работать с некоторыми картами корректно, не переключается в разрешения экрана меньше 640x480 и не может переключать частоту обновления экрана (refresh rate) по стандарту VBE 3.0.
|
ОС |
Версия |
Описание |
Ссылка |
|
Windows NT, Windows 2000, Windows XP, Windows 2003, Windows PE |
Release version бета 01.14.2009 |
Универсальные VBE30 и VBE20 версии.** |
VbempI.zip |
|
Windows NT, Windows 2000, Windows XP, Windows 2003, Windows PE |
Release version бета 04.26.2008 |
Универсальные VBE30 и VBE20 версии.** |
VbempH.zip |
|
Windows NT, Windows 2000, Windows XP, Windows 2003, Windows PE, ReactOS*** |
"STABLE" Release version 10.19.2007 |
Универсальные VBE30 и VBE20 версии.** |
VbempG.zip |
|
Windows NT клоны - ВСЕ из них |
Release version beta 01.08.2009 |
Специальная версия драйвера для чипов Cirrus Logic: CL-GD542x, CL-GD543x, CL-GD544x, CL-GD546x, CL-GD5480, включая CL-GD5446 который используется в qemu. В картах с 2Mb+ VRAM доступен 32-битный цвет. |
Загрузить |
|
Windows NT клоны - ВСЕ из них |
Debug version * 01.03.2009 |
IBM Graphics driver работает на любых EGA/VGA-совместимых картах (моно, 16, 256 цветов). |
Vga13h.zip |
|
Windows NT 4.0 |
Release version 10.28.2007 |
VGAMONO USWC специальный драйвер, к-рый эмулирует truecolor в 1,2 или 4-битовых режимах, работает на любых VBE-совместимых картах. |
VgaMono.zip |
|
Windows NT 3.51, Windows NT 4.0, Windows 2000, Windows XP, Windows 2003 |
Release version 12.19.2008 |
Панель управления для VBEMP. |
VbempCPL.rar |
|
Windows NT 3.5x, Windows NT 4.0 |
Release version бета 11.30.2008 |
FRAMEVBE библиотека с поддержкой технологии теневого буфера. |
framevbe.rar |
Примечание 0: Если у Вас появляются проблемы с установкой VBEMP или любого другого драйвера в среде Windows NT 4.0 (и NT 3.5x) - гаснет экран, система "виснет" после перезагрузки - прочтите эту статью MS. Подробности здесь: MSKB: AGP Video Support for Windows NT 3.51 and 4.0 (Q174567) ).
Примечание 1: Если Ваша карта работает медленно с установленным VBEMP, особенно при перемещении больших окон, прокрутке текста и заметно мерцание экрана Вы можете улучшить ситуацию:
- Windows 2000 (и далее): зайдите в Панель управления -> Экран -> Настройки -> кнопка Дополнительно -> Решение проблем и передвиньте движок Ускорение в крайнюю левую позицию (Нет). В среде Windows XP/2003 Server убедитесь, что установка Комбинированная запись включена. Подробности здесь: MSKB: How to Change the Graphics Hardware Acceleration Setting in Windows (Q263391)
- Windows NT 4.0 (и NT 3.5x): используйте новую библиотеку framevbe.dll - замените ей стандартный %SystemRoot%\SYSTEM32\framebuf.dll.
Примечание 2: Начиная с версии датированной 10.19.2007, vbemp?.zip содержит эти варианты драйвера VBEMP:
- \OEM - дополнительные файлы для 'unattended' установки VBEMP
- \VBE30\XP2003\PNP - Windows XP/2003 PnP-версия (VBE 1.x/2.0/3.0)
- \VBE20\XP2003\PNP - Windows XP/2003 PnP-версия (VBE 1.x/2.0)
- \VBE30\XP2003\LEGACY - Windows XP/2003 LEGACY-версия (VBE 1.x/2.0/3.0)
- \VBE20\XP2003\LEGACY - Windows XP/2003 LEGACY-версия (VBE 1.x/2.0)
- \VBE30\REACTOS - ReactOS 0.3.x or later PnP-версия (VBE 1.x/2.0/3.0)
- \VBE20\REACTOS - ReactOS 0.3.x or later PnP-версия (VBE 1.x/2.0)
- \VBE30\W2K\PNP - Windows 2000 PnP-версия (VBE 1.x/2.0/3.0)
- \VBE20\W2K\PNP - Windows 2000 PnP-версия (VBE 1.x/2.0)
- \VBE30\W2K\LEGACY - Windows 2000 LEGACY-версия (VBE 1.x/2.0/3.0)
- \VBE20\W2K\LEGACY - Windows 2000 LEGACY-версия (VBE 1.x/2.0)
- \VBE30\NT4 - Windows NT 4.0 версия (VBE 1.x/2.0/3.0)
- \VBE20\NT4 - Windows NT 4.0 версия (VBE 1.x/2.0)
- \VBE30\NT35X - Windows NT 3.5x версия (VBE 1.x/2.0/3.0)
- \VBE20\NT35X - Windows NT 3.5x версия (VBE 1.x/2.0)
- \VBE30\NT31 - Windows NT 3.1 версия (VBE 1.x/2.0/3.0)
- \VBE20\NT31 - Windows NT 3.1 версия (VBE 1.x/2.0)
Примечание 3: Как Вы уже заметили, для Windows 2000/XP/2003/PE существуют две версии - PnP и LEGACY. А еще каждый подвид драйвера имеет VBE30 и VBE20 версии. Для чего это сделано:
- PNP-версия: только для Plug'n'Play-карт (т.е. на шине PCI/AGP/PCIe).
- LEGACY-версия: только для неPNP-карт (т.е. на шине ISA/VLB/MCA) и также для WinPE как прямая замена для VGA.SYS.
- VBE30-версия: умеет refresh rate switching (вам желательно иметь VBE30-совместимую карту и CRT монитор, чтобы увидеть ее в работе). Доступны эти частоты обновления экрана: 50,60,70,72,75,80,85,90,100,120,140,144,150,160,170,200,240. Отдельно поддерживаются режимы: 800x600x56Hz, 1024x768x43Hz interlaced. Если Вам попадётся 55 Hz в списке режимов - это частота по умолчанию или безопасная частота.
- VBE20-версия: НЕ поддерживает refresh rate switching (используйте ее, если у вас не-CRT монитор или ваша карта не имеет на борту VBE30 BIOS). ЛУЧШИЙ ВЫБОР для использования вместе с средами виртуализации (Bochs, QEMU, VMware...).
Примечание 4: По умолчанию любые Plug'n'Play видеокарты определяются КОРРЕКТНО 2000/XP/2003 версией моего драйвера. Но если Вы хотите, Вы МОЖЕТЕ добавить PCI VENDOR/DEVICE ID Вашей видеокарты в vbemppnp.inf для того, чтобы Ваша карта определялась под своим именем или можете выбрать драйвер вручную, когда Windows впервые находит неизвестное устройство. Это необязательное действие!
Пример:
; vbemp5.inf
;
; Installation file (.inf) for the VBE Miniport device.
;
; (c) Copyright 2006 AnaPa Corp
;
. . . . . .
. . . . . .
[AnaPa.Mfg]
VBE Минипорт = Vbemp, NOPNP
VBE Минипорт - Standard PCI Graphics Adapter (VGA) = Vbemp, PCI\CC_0300
VBE Минипорт - Standard PCI Graphics Adapter (XGA) = Vbemp, PCI\CC_0301
VBE Минипорт - Standard PCI Graphics Adapter = Vbemp, PCI\CC_0380
VBE Минипорт - Standard Graphics Adapter (VGA) = Vbemp, *PNP0900
VBE Минипорт - VGA = Vbemp, *PNP0917
VBE Минипорт - SVGA = Vbemp, NOPNP
VBE Минипорт - 1394 = Vbemp,1394\&
VBE Минипорт (ATI Rage 128PRO 4x pri) = Vbemp, PCI\VEN_1002&DEV_5046
VBE Минипорт (Intel D845G) = Vbemp, PCI\VEN_8086&DEV_2562&SUBSYS_52478086
Имя Вашей карты = Vbemp, PCI\VEN_xxxx&DEV_yyyy&SUBSYS_zzzzzzzz ; шаблон карты, смотри ниже
. . . . . .
Чтобы вписать эту строку Вы можете использовать программу PCI32.EXE упомянутую ниже, вот пример отчета:
. . . . . .
Bus 1 (AGP), Device Number 0, Device Function 0
Vendor 1002h ATI Technologies Inc
Device 4966h Radeon 9000 Series (RV250)
Command 0187h (I/O Access, Memory Access, BusMaster, Wait Cycles, System Errors)
Status 02B0h (Has Capabilities List, Supports 66MHz, Supports Back-To-Back Trans., Medium Timing)
Revision 01h, Header Type 80h, Bus Latency Timer FFh
Minimum Bus Grant 08h, Maximum Bus Latency 00h
Self test 00h (Self test not supported)
Cache line size 32 Bytes (8 DWords)
PCI Class Display, type VGA
Subsystem ID 4F721002h Radeon 9000 Series (RV250)
Subsystem Vendor 1002h ATI Technologies Inc
. . . . . .
Примечание 5: Мой драйвер не предоставляет никакой поддержки для корректного запуска полноэкранных DOS приложений в графических режимах VESA. Это контролирует VGA.SYS и в большинстве случаев он блокирует прямой доступ к портам ввода-вывода и препятствует запуску VESA программ. Существуют сторонние патчи - WinXPFix Utility (http://www.nomissoft.com/service.html#as2downloads) и 'Videoport driver patch for VESA in NTVDM' (http://www.volny.cz/martin.sulak/, прямая ссылка videoprt.zip) которые исправляет "поведение" VGA.SYS. Попробуйте их если Вам нужен запуск DOS программ в Windows. Я никаким образом не связан с разработчиком(-ами) данных программ.
* Для получения RELEASE-версии этого драйвера (которая более стабильна, вдвое меньше размером и работает быстрее DEBUG-версии) Вам нужно связаться со мной по e-mail и прислать мне отчет, сгенерированный утилитой INFOVBE.EXE, потом Я вышлю Вам RELEASE-версию драйвера по e-mail. Я рекомендую эту версию только после того, как Вы убедитесь в том, что DEBUG-версия работает с Вашей картой корректно.
** Если универсальная версия не работает с Вашей картой, Вы можете попробовать Ручную версию. Чтобы получить ее Вам нужно связаться со мной по e-mail и прислать мне отчет, сгенерированный INFOVBE.EXE, потом Я вышлю Вам перcональную версию драйвера для Вашей видеокарты по e-mail.
*** Как установить VBEMP драйвер в среде Windows PE:
- Для CD-инсталляции: поместите vbemp.sys в каталог \I386\SYSTEM32\DRIVERS, vbempnp.inf в каталог \I386\INF. Я очень рекомендую предварительно удалить display.inf из каталога \I386\INF.
- Для HDD-инсталляции: vbemp.sys в каталог \MININT\SYSTEM32\DRIVERS, vbempnp.inf в каталог \MININT\INF. Я очень рекомендую предварительно удалить display.inf из каталога \MININT\INF.
- После запуска WindowsPE выполните:
factory.exe -winpe
Эта строчка запустит драйвер.
Как установить legacy VBEMP драйвер в среде Windows PE:
- Заменить %SystemRoot%\SYSTEM32\DRIVERS\VGA.SYS моей версией и перезагрузиться.
Как установить VBEMP драйвер в среде ReactOS 0.3.x:
- Заменить \REACTOS\SYSTEM32\DRIVERS\VBEMP.SYS моей версией и перезагрузиться.
Для "тонкой" настройки драйвера Вы можете использовать Панель управления для VBEMP.
Ветка : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Vbemp\Device0
или HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Vgasave\Device0 в legacy режиме
Обратите внимание что HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
это виртуальная ветка и она соответствует одной иэ следующих веток:
Ветка : HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX\Services\Vbemp\Device0
или HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX\Services\Vgasave\Device0 в legacy режиме
где XXX принимает значения 001, 002, 003 ...
в зависимости от выбранной конфигурации оборудования
согласно значению "Current" отсюда: HKEY_LOCAL_MACHINE\SYSTEM\Select
В Windows XP и далее эти ключи дублируются:
Ветка : HKLM\SYSTEM\CurrentControlSet\Control\Video\{yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy}\XXXX
или HKLM\SYSTEM\CurrentControlSet\Control\Video\{23A77BF7-ED96-40EC-AF06-9B1F4867732A}\0000
в legacy режиме
Обратите внимание что HKLM\SYSTEM\CurrentControlSet\Control\Video
это "multi-device" ветка и она соответствует одной иэ следующих веток:
где XXXX принимает значения 0000, 0001, 0002, 0003 ...
в зависимости от выбранного графического устройства вывода начиная с 0.
Значение {yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy} зависит от
соответствующей конфигурации оборудования согласно значению "Service" отсюда:
HKLM\SYSTEM\CurrentControlSet\Control\Video\{yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy}\Video
где оно принимает значения "vbemp" или "Vgasave" в legacy режиме
Вот возможные параметры:
 
Ключ : Acceleration.Level
Значение : (REG_DWORD) уровень видео акселерации (0 - 5, 5 - наименьший уровень)
Пояснение : Если "0"-"4" или ключ отсутствует, теневой буфер отключен, а если "5" - включен. Эта установка имеет значение для всех версий VBEMP, работающих под Windows2000 и старше (XP/2003). Рекомендуемое значение - 5.
Необходима перезагрузка : Да.
 
Ключ : VBE_GREY
Значение : (REG_DWORD) 1 или 0
Пояснение : Если "0" или ключ отсутствует, VBEMP в 256-цветных режимах использует стандартную палитру, а если "1" - полутоновую.
Необходима перезагрузка : Нет.
 
Ключ : VBE_VENDORID
Значение : (REG_DWORD) PCI идентификатор устройства, допустимы только следующие значения:
1. 0x100C (Tseng Labs Inc)
2. 0x1013 (Cirrus Logic)
3. 0x5333 (S3 Inc)
4. 0x1023 (Trident Microsystems Inc)
Пояснение : Значение играет роль только для ISA/VLB карт. (появилось в версии от мая2007!).
Необходима перезагрузка : Да.
 
Ключ : VBE_MEMBASE
Значение : (REG_DWORD) базовый адрес буфера кадра, к примеру:
1. 0x80000000 (для карт S3 Inc)
2. 0xD00000 (для карт Cirrus Logic)
3. 0xE00000 (для карт Cirrus Logic)
4. 0xF00000 (для карт Cirrus Logic)
5. 0x4D00000 (для карт Cirrus Logic)
6. 0x4E00000 (для карт Cirrus Logic)
7. 0x4F00000 (для карт Cirrus Logic)
8. 0xC00000 (для карт Tseng Labs)
9. 0x100000-0x3F00000 (для карт Trident)
Пояснение : Значение берется из документации на видеокарту, Вы должны знать его точно, у Вас есть варианты:
- Если это значение ниже линии 16Mb (< 0x1000000) и у Вас менее 16Mb системной памяти то Вы без проблем уcтановите VBEMP.
- Если это значение ниже линии 16Mb (< 0x1000000) и у Вас 16Mb или более системной памяти Вы должны включить опцию "Memory hole option" в BIOS Setup Program Вашего компьютера.
- Если это значение выше либо равно 16Mb (>= 0x1000000) и у Вас 16Mb или более системной памяти убедитесь что видео- и системная память не пересекаются. Если они пересекаются у Вас не будет возможности установить VBEMP на такой компьютер. В таком случае, Вы можете попытаться отключить или ограничить использование памяти выше адресов буфера кадра, используя ключи /MAXMEM или /BURNMEMORY в Вашем файле \boot.ini.
Буфер кадра НЕ МОЖЕТ перекрывать регион системной памяти!
Значение играет роль только для ISA/VLB карт. (появилось в версии от мая2007!).
Необходима перезагрузка : Да.
 
Ключ : VBE_USWC
Значение : (REG_DWORD) 1 или 0
Пояснение : Если "0" или ключ отсутствует, Комбинированная запись (USWC) отключена, а если "1" - включена. (появилось в версии от июня2007!).
Необходима перезагрузка : Да.
 
Ключ : VBE_ALIGN
Значение : (REG_DWORD) 2, 1 или 0
Пояснение : Если "0" или ключ отсутствует, память буфера кадра выравнивается по границе 64Kb, если "1" - по границе 4Mb, если "2" - по размеру всей памяти адаптера. Установка "1" рекомендуется когда Комбинированная запись (USWC) включена. (появилось в версии от июня2007!).
Необходима перезагрузка : Нет.
 
Ключ : VBE_VSYNC
Значение : (REG_DWORD) 1 или 0
Пояснение : Если "0" или ключ отсутствует, Полярность вертикальной синхронизации отрицательная, а если "1" - положительная. (появилось в VBE30 версии от июня2007!).
Необходима перезагрузка : Нет.
 
Ключ : VBE_HSYNC
Значение : (REG_DWORD) 1 или 0
Пояснение : Если "0" или ключ отсутствует, Полярность горизонтальной синхронизации отрицательная, а если "1" - положительная. (появилось в VBE30 версии от июня2007!).
Необходима перезагрузка : Нет.
Значения параметров для полярности HSync и VSync берутся из документации на монитор. Обычно можно принять что режим 640 x 400 использует -Hsync и +Vsync, режимы 640 x 480, в основном, используют +Hsync и +Vsync и все высшие режимы (800 x 600 и более) используют -Hsync и -Vsync полярности.
Ключ : VBE_FILTER
Значение : (REG_BINARY) максимум 32 строчки по 8 байт = 256 байт
Примеры:
08,00,06,00,00,00,00,00 - выключает все 800x600 режимы
08,00,06,00,00,00,00,56 - выключает все 800x600 режимы с частотой выше 56гц
08,00,06,00,00,70,00,85 - выключает все 800x600 режимы с частотой выше 85гц и ниже 70гц
00,00,00,00,00,00,01,00 - выключает все режимы с частотой выше 100гц
Пояснение : Если ключ отсутствует, VBEMP не осуществляет фильтрацию режимов. (появилось в версии от июля2007!).
Необходима перезагрузка : Да.
 
Ключ : VBE_DDC
Значение : (REG_DWORD) 1 или 0
Пояснение : Если "0" или ключ отсутствует, VBEMP не определяет PNP монитор используя PNP-менеджер, а если "1" - определяет. (появилось в версии от июня2007! Не для legacy-mode драйверов!).
Необходима перезагрузка : Да.
 
Ключ : VBE_EDID
Значение : (REG_DWORD) 1 или 0
Пояснение : Если "0" или ключ отсутствует, VBEMP не определяет PNP монитор используя внутренние механизмы драйвера, а если "1" - определяет. (появилось в версии от июля2007!).
Необходима перезагрузка : Да.
 
Ключ : VBE_RAWEDID
Значение : (REG_BINARY)
Пояснение : Когда VBE_EDID = 1, EDID-блок пишется сюда. (появилось в версии от июля2007!).
 
Ключ : VBE_NVSCALE
Значение : (REG_DWORD) 2, 1 или 0
Пояснение : Если "0" или ключ отсутствует, масштабирование включено, если "1" - выключено и изображение центрировано, если "2" - выключено и изображение вверху слева. Значение играет роль только для карт nVidia, подключенных к LCD дисплею через DVI. (появилось в версии от января2009!).
Необходима перезагрузка : Да.
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
- Удалить файлы:
\%WINDOWS_DIR%\SYSTEM32\DRIVERS\VBEMP.SYS
\%WINDOWS_DIR%\INF\oem?.inf
\%WINDOWS_DIR%\INF\oem?.pnf
где ? принимает значения 1,2,3,4.....
содержимое oem?.inf должно соответствовать:
vbemp4.inf (для Windows NT 4.0)
vbempnp.inf (для Windows 2000/XP/2003)
\%WINDOWS_DIR%\SYSTEM32\oemvio?.inf (для Windows NT 3.x)
где ? принимает значения 1,2,3,4.....
содержимое oemvio?.inf/ должно соответствовать:
oemsetup.inf (для Windows NT 3.x)
- Удалить Вашу карту из Менеджера устройств или вычистить ветки реестра:
Все: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Vbemp
Только для Windows XP/2003: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy}
где расположение {yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy} описано выше в Настройках реестра
Декларация функции, импорт NTOSKRNL.LIB
#define SIZE_OF_80387_REGISTERS 80
typedef struct _FLOATING_SAVE_AREA {
ULONG ControlWord;
ULONG StatusWord;
ULONG TagWord;
ULONG ErrorOffset;
ULONG ErrorSelector;
ULONG DataOffset;
ULONG DataSelector;
UCHAR RegisterArea[SIZE_OF_80387_REGISTERS];
ULONG Cr0NpxState;
} FLOATING_SAVE_AREA;
typedef struct _CONTEXT {
ULONG ContextFlags;
ULONG Dr0;
ULONG Dr1;
ULONG Dr2;
ULONG Dr3;
ULONG Dr6;
ULONG Dr7;
FLOATING_SAVE_AREA FloatSave;
ULONG SegGs;
ULONG SegFs;
ULONG SegEs;
ULONG SegDs;
ULONG Edi;
ULONG Esi;
ULONG Ebx;
ULONG Edx;
ULONG Ecx;
ULONG Eax;
ULONG Ebp;
ULONG Eip;
ULONG SegCs; // НЕ ТРОЖЬ - ХУЖЕ БУДЕТ
ULONG EFlags; // НЕ ТРОЖЬ - ХУЖЕ БУДЕТ
ULONG Esp;
ULONG SegSs;
} CONTEXT;
typedef CONTEXT *PCONTEXT;
NTSTATUS
Ke386CallBios (
IN ULONG BiosCommand,
IN OUT PCONTEXT BiosArguments
);
Пример Вызова Ke386CallBios()
Важно!!! Вызывается из любой точки Windows 2000 (XP/2003
или NT) драйвера видео минипорта кроме DriverEntry() и
HwFindAdapter(), кроме того еще нужно добавить след. строки в
HwFindAdapter():
ConfigInfo->>VdmPhysicalVideoMemoryAddress.LowPart = 0x000A0000;
ConfigInfo->>VdmPhysicalVideoMemoryAddress.HighPart = 0x00000000;
ConfigInfo->>VdmPhysicalVideoMemoryLength = 0x00020000;
ConfigInfo->>NumEmulatorAccessEntries = 0;
ConfigInfo->>EmulatorAccessEntries = NULL;
ConfigInfo->>EmulatorAccessEntriesContext = 0;
ConfigInfo->>HardwareStateSize = 0;
А вот сам вызов ф-ции ( при IRQL = 0!!! ):
VOID
Sample()
{
CONTEXT BiosRegisters;
NTSTATUS Status;
...
VideoPortZeroMemory(&BiosRegisters, sizeof(BiosRegisters));
BiosRegisters.Eax = 0x0F00;
Status = Ke386CallBios(0x10, &BiosRegisters);
...
}
Windows NT 3.x особый случай, типа. Перед ПЕРВЫМ ВЫЗОВОМ Ke386CallBios() Вам нужно обратиться к VideoPortInt10() как-нибудь. Типа:
BOOLEAN
Sample2(PVOID HwDeviceExtension)
{
PVBE_DEVICE_EXTENSION VBEDeviceExtension =
(PVBE_DEVICE_EXTENSION)HwDeviceExtension;
VIDEO_X86_BIOS_ARGUMENTS BiosRegs;
CONTEXT BiosRegisters;
NTSTATUS Status;
...
VideoPortZeroMemory(&BiosRegs, sizeof(BiosRegs));
BiosRegs.Eax = 0x0F00;
VideoPortInt10(HwDeviceExtension, &BiosRegs);
...
VideoPortZeroMemory(&BiosRegisters, sizeof(BiosRegisters));
BiosRegisters.Eax = 0x0F00;
Status = Ke386CallBios(0x10, &BiosRegisters);
...
}
Официальная информация по стандарту VESA BIOS Extensions 3.0 - http://www.vesa.org/public/vbe/vbe3.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.
Файл справки "Дисплеи и устройства печати: Windows XP DDK" (Built on Friday, February 18, 2005) - g.zip.
Посетите ReactOS operating system 'tm subversion repository для обзора исходников последней версии оригинального vbemp.sys драйвера - http://svn.reactos.org/.../miniport/vbe/
Посетите VirtualBox 'tm subversion repository для обзора исходников последней версии драйвера для виртуального видеоадаптера - http://www.virtualbox.de/.../WINNT/Graphics?rev=1
SciTech Software Inc выпустила коммерческую версию аналогичного драйвера
(SciTech SNAP Graphics changelog) для Windows, OS/2, QNX & Linux. Эти версии пробные на 21 день.
- Скачать Windows 2000/XP Version 3.1.4 DPVL beta2 [dpvlbeta2.zip].
- Скачать Windows NT 4.0 Версия 3.1.1 [snap-winnt-3.1.1.exe]. Поддерживаемое оборудование.
- Скачать Windows NT 4.0 Версия 3.1.3 beta 1284 [snap-winnt-3.1.3-1284.exe].
- Скачать DOS Версия 3.1.1 [snap-dos-3.1.1.exe]. Поддерживаемое оборудование.
- Скачать IBM OS/2 (eCS) Версия 3.1.8 [snap-os2-3.1.8.exe]. Поддерживаемое оборудование.
Более новую Персональную версию (пробную на 6 месяцев) можно скачать БЕСПЛАТНО зарегистрировавшись на http://my.scitechsoft.com/navigate.php.
Посетите сайт http://et6000.narod.ru/
который содержит драйвер и исходный код к нему для видеокарт Tseng Labs ET6000, ET6100 и ET6300 PCI для Windows 2000/XP.
VIDEOSIM.SYS frame buffer simulator пример видеодрайвера (исходный код) из комплекта разработчика устройств (DDK) Windows NT 4.0 videosim.zip.
MIRROR.SYS frame buffer mirror пример видеодрайвера (исходный код) из комплекта разработчика устройств (DDK) Windows 2000 mirror.zip.
Здесь Вы можете найти некоторые тесты и бенчмарки, которые я использовал для тестирования производительности моего драйвера - benches.rar
- VBE 3.00 INTERNAL Intel G33 (GMA 3100) Graphics
- VBE 3.00 INTERNAL Intel Q963 (GMA 3000) Graphics
- VBE 3.00 INTERNAL Intel 915G Graphics
- VBE 3.00 INTERNAL Intel 910G Graphics
- VBE 3.00 INTERNAL Intel 865G Graphics
- VBE 3.00 INTERNAL Intel 845G Graphics
- VBE 3.00 INTERNAL Intel 815G Graphics
- VBE 3.00 INTERNAL Intel 810G Graphics
- VBE 2.00 AGP 8Mb ATI Rage 3D Pro AGP 2x (BGA Package)
- VBE 2.00 AGP 8Mb ATI Rage P/M Mobility AGP 2x
- VBE 2.00 AGP 32Mb ATI Rage128 PF/Pro AGP 4x (TMDS)
- VBE 2.00 AGP 64Mb ATI Radeon 9000 Series (RV250)
- VBE 2.00 INTERNAL ATI Radeon Xpress 200M Series
- VBE 3.00 16Mb? ATI Radeon X1650 Series (RV530 LE)
- VBE 3.00 16Mb? ATI Radeon X1950 GT [RV570]
- VBE 3.00 AGP 16Mb 3Dfx Interactive Voodoo3 2000
- VBE 3.00 PCI 4Mb nVidia RIVA 128 2D/3D Gui Accelerator
- VBE 3.00 AGP 4Mb nVidia RIVA 128 2D/3D Gui Accelerator
- VBE 3.00 AGP 16Mb nVidia RIVA TNT GUI+3D Accelerator [NV4]
- VBE 3.00 AGP 16Mb nVidia RIVA TNT2 Model 64 [NVM64]
- VBE 3.00 AGP 32Mb nVidia GeForce2 MX/MX400 [NV11]
- VBE 3.00 AGP 64Mb nVidia GeForce2 GTS/PRO [NV15]
- VBE 3.00 AGP 64Mb nVidia Geforce3 Ti 200 [NV20]
- VBE 3.00 AGP 128Mb nVidia GeForce FX 5200 [NV34.3]
- VBE 3.00 INTERNAL nVidia GeForce 6100 nForce 430
- VBE 3.00 nVidia GeForce 7600GS
- VBE 2.00 PCI 4Mb Matrox MGA-2164W Millenium II PCI
- VBE 2.00 AGP 4Mb Matrox MGA-G100 AGP
- VBE 1.32 INTERNAL 1Mb TSENG LABS Inc ET4000
- VBE 2.00 PCI 4Mb TSENG LABS Inc ET6000
- VBE 2.00 VLB 2Mb S3 Inc Vision964
- VBE 2.00 PCI 2Mb S3 Inc 86C375 ViRGE/DX
- VBE 2.00 AGP 4Mb S3 Inc 86C368 Trio3D/2X
- VBE 1.02 INTERNAL 1Mb Cirrus Logic CL-GD5428
- VBE 1.02 INTERNAL 512Kb Cirrus Logic CL-GD5424
- VBE 1.02 VLB 1Mb Cirrus Logic CL-GD5428
- VBE 1.02 PCI 1Mb Cirrus Logic CL-GD5446 PCI
- VBE 2.00 INTERNAL Trident CyberBlade i7
- VBE 1.02 ISA 1Mb Trident 8900
- VBE 1.02 ISA 512Kb Trident 9000i [TrueColor DAC]
- VBE 1.02 ISA 256Kb Realtek 3106 [RTG3106]
- без VBE ISA 256KB Cirrus Logic CL-GD5401 - Acumos VGA (AVGA1)
- VBE 2.00 PCI 8Mb? VirtualBox VBE Adapter (Innotek VirtualBox)
- VBE 2.00 PCI 16Mb VMware SVGA II (VMware)
- VBE 2.00 PCI 4Mb Cirrus Logic CL-GD5446 PCI (QEMU)
- VBE 2.00 PCI 4Mb Plex86 VBE Adapter (QEMU/Bochs)
- без VBE ISA 256KB Elpin VGABIOS (Bochs)
Когда у Вас возникают проблемы с VBEMP, обычно существуют два базовых сценария:
- Компьютер стартует, но драйвер работает неправильно.
- Компьютер не стартует, т.е. "падает", показывает BSOD или "зависает".
Перед отладкой попробуйте эти операции, указанные ниже:
- Физически удалите чипы памяти или используйте опцию /MAXMEM в boot.ini для этого по образцу (например если у Вас 1024 Mb RAM): 512 -> 256 -> 128 -> 64 -> 32 -> 16 -> 8.
- Обновите BIOS материнской платы до последней версии.
- Очистите настройки CMOS до безопасных или по умолчанию.
- Уменьшите AGP Aperture в BIOS т.к. она не используется VBEMP.
- Временно удалите внешние контроллеры как то: usb, sound, hdd, lan и пр.
- Попробуйте использовать видеокарту с другой шиной: AGP, PCIe, PCI, набортную.
Для начала процесса отладки Вы ДОЛЖНЫ запросить у меня LOGGED-версию (для метода 1) или DEBUG-версию (для методов 2,3) драйвера по e-mail. Для методов 2,3 Вы ДОЛЖНЫ ПРОЧЕСТЬ эту статью Отладка в WinDbg
пособие для тестировщика чтобы понять какая методика отладки наиболее подходит в Вашем случае. Вот возможные шаги, кратко:
- Метод #1 (с использованием logged версии): Установите logged версию. Когда она запустится, начнет формироваться лог на %SystemRoot% (обычно "C:\WINDOWS" или "C:\WINNТ") в файл vbemp.log. Пришлите мне этот лог после того как ваша система загрузится или не загрузится.
- Метод #2 (с использованием DbgPrint logger): Скачайте KdPrint/DbgPrint logger http://alter.org.ua/ru/soft/win/dbgdump/#download (самый 1й архив, который "archive with all necessary files"). Для отладки NT 3.5x используйте ЭТУ версию. Она также будет работать и с более поздними версиями Windows NT.
- Распакуйте в какой-нибудь каталог (например в C:\DbgDump)
- Запустите cmd.exe (через Пуск -> Выполнить, просто наберите там
cmd.exe и нажмите Выполнить)
- В открывшемся окне наберите:
C: [Enter]
cd C:\DbgDump [Enter]
DbgPrintLog -wd C:\ --drv:inst 1 --svc:inst A --drv:opt DoNotPassMessagesDown 1 --drv:opt StopOnBufferOverflow 0 BootVbe.log [Enter]
- Перезагрузитесь. Убедитесь, что лог-файл пишется. Должен появиться файл C:\BootVbe.log.
- Установите VBEMP драйвер.
- Перезагрузитесь. После этого Вы получите лог-файл от моего драйвера C:\BootVbe.log. Пришлите его мне по e-mail.
- Теперь можно отключить сбор логов: запустите cmd.exe (см. выше как)
- В открывшемся окне наберите:
C: [Enter]
cd C:\DbgDump [Enter]
net stop DbgPrintLog.exe [Enter]
DbgPrintLog --drv U --svc U [Enter]
- Метод #3 (с использованием WinDbg/i386KD): Возможно также использование Windows 32bit x86 отладчика ядра WinDbg/i386KD для получения отладочного лога от драйвера через последовательный порт.
Соеднините два PC нуль-модемным кабелем для последовательного порта:
MSKB: How to set up a remote debug session using a null modem cable (Q151981)
9-Pin NULL Modem Cabling
Remote host
serial port connector Host system
serial port connector
Signal
3 2 Transmit Data
2 3 Receive Data
7 8 Request to Send
8 7 Clear to Send
6, 1 4 Data Set Ready and Carrier Detect
5 5 Signal Ground
4 6, 1 Data Terminal Ready
25-Pin NULL Modem Cabling
2 3 Transmit Data
3 2 Receive Data
4 5 Request to Send
5 4 Clear to Send
6 20 Data Set Ready and Carrier Detect
7 7 Signal Ground
20 6 Data Terminal Ready
- Для Windows NT3/NT4/W2K/XP/2003:
На основном PC - отредактируйте файл boot.ini, находящися в корневом каталоге вашего загрузочного жесткого диска. Перед исправлением:
[boot loader]
timeout=30
multi(0)disk(0)rdisk(0)partition(2)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows NT Version 4.00"
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows NT Version 4.00 [VGA mode]" /basevideo /sos
После:
[boot loader]
timeout=30
multi(0)disk(0)rdisk(0)partition(2)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows NT Version 4.00"
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows NT Version 4.00 [VGA mode]" /basevideo /sos
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows NT Version 4.00 DBG" /debug /baudrate:19200 /debugport:COM2
При запуске отлаживаемого PC (target PC), нужно будет выбрать в меню строчку "Windows NT Version 4.00 DBG" для активации режима отладки.
- Для Windows NT3/NT4/W2K/XP/2003 на стадии начальной установки, а также для WindowsPE:
На отлаживаемом PC (target PC) - отредактируйте файл txtsetup.sif, находящися в каталоге /I386 или /MININT вашего диска; перед исправлением:
[Version]
signature="$Windows NT$"
ClassGUID={00000000-0000-0000-0000-000000000000}
. . . . . .
. . . . . .
OsLoadOptions ="/fastdetect /minint /noguiboot"
. . . . . .
После:
[Version]
signature="$Windows NT$"
ClassGUID={00000000-0000-0000-0000-000000000000}
. . . . . .
. . . . . .
OsLoadOptions ="/fastdetect /minint /noguiboot /debug /baudrate:19200 /debugport:COM2"
. . . . . .
На отлаживающем PC (host PC) - установите Microsoft x86 32-bit Debugging Tools (http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx).
После это создайте cmd-файл для запуска i386kd.exe и поместите его в каталог Debugging Tools:
@echo off
rem Укажите какой порт использовать. (По умолчанию = com1)
set _NT_DEBUG_PORT=com2
rem Укажите какую скорость использует отладочный последовательный порт. ((По умолчанию = 19200)
set _NT_DEBUG_BAUD_RATE=19200
rem Если указано, весь вывод программы будет записан в указаный файл со смещением 0.
set _NT_DEBUG_LOG_FILE_OPEN=vbe.log
i386kd.exe -v
Сначала, соедините два PC нуль-модемным кабелем.
Затем, запустите отлаживающий PC (host PC) и выполните cmd-файл.
После запустите отлаживаемый PC (target PC). Он запустится в режиме отладки.
Если отлаживаемый PC "повиснет", прервите i386kd на отлаживающем PC (host PC) ([Ctrl]+[B],[Enter]) и пришлите vbe.log мне.
После того как Вы получили логи от драйвера Вы можете предоставить мне дополнительную информацию по системе и видеокарте. Это необязательный шаг!!! Без логов от драйвера эта информация бессмысленна для меня!!!
Собрать информацию о VESA BIOS и о системе :
Cкачайте НОВУЮ 2в1 утилиту INFOVBE.EXE. Этот архив также содержит образ загрузочного диска 1.44 Мб с этой утилитой для тех пользователей, кто не имеет установленных DOS или Windows9x.Вы должны запустить ее из среды "чистого" MS-DOS (Real Mode) типа:
INFOVBE.EXE > vbe.txt
Cкачайте утилиты PCI32.EXE, pci104vka и список PCI устройств (поместите его в каталог PCI32 заменив существующую версию). Вы должны запустить их из среды Windows NT/2K/XP/2003 типа:
PCI32.EXE -R -D > devpci.txt
pci_w.exe -R -D -P -M -5 > devpci.htm
Пришлите мне vbe.txt, devpci.txt, devpci.htm в сжатом виде (rar, zip, 7z...) по e-mail.
Для владельцев ISA/VLB карт: Выпущены новые утилиты - lfb_det.exe/lfb.exe, которые умеют автоматически определять адрес буфера кадра в системном адресном пространстве. Они распространяются только по запросу по e-mail. Прочтите пп. 1 ("Собрать информацию о системе"), сделайте логи и я пришлю Вам эти утилиты.
|
Карты (чипы) affected |
Описание |
Intel 845G, 855G, 865G, 915G и далее |
PRB: Не удается установить "родные" разрешения вроде 1024x600, 800x480, 1280x800, в основном на ноутбуках с встроенной графикой Intel.
DETAILS: В таблицах режимов Video BIOS эти режимы отсутствуют или фильтруются. Когда Вы пытаетесь через BIOS установить эти разрешения, BIOS немедленно возвращает ошибку.
FIX: Обновите Ваш BIOS последней версией или самостоятельно сделайте патч. В DOS/Windows9x возможно использование программного Intel TSR VBIOS VESA-драйвера.
|
Intel 845G, 855G, 865G, 915G и далее |
PRB: Не удается установить разрешение выше 800x600x8бит и 640x480x16бит.
DETAILS: В Video BIOS размер буфера кадра жестко ограничен 832 Кбайт, а этого недостаточно даже для 1024x768x16бит = 1024*768*2 = 1572864, 1572864 > 832K.
FIX: Обновите Ваш BIOS последней версией или самостоятельно сделайте патч. В DOS/Windows9x возможно использование программного Intel TSR VBIOS VESA-драйвера.
|
Intel 810E, 815E series |
PRB: Не удается использовать линейный буфер кадра, хотя карта идентифицирует себя как VBE 3.0 совместимая.
DETAILS: В Video BIOS поддержка линейного буфера кадра отсутствует, а сама карта поддерживает линейный буфер кадра.
FIX: Не известно.
|
ATI Radeon Xkkkk series (начиная с X700) |
PRB: Не удается использовать пользовательские частоты обновления экрана, хотя карта идентифицирует себя как VBE 3.0 совместимая.
DETAILS: В Video BIOS код переключения пользовательских частот обновления экрана отсутствует. Когда Вы пытаетесь через BIOS установить эти разрешения, BIOS немедленно возвращает ошибку VBE 0x34F.
FIX: Не известно.
|
nVidia GeForce 5xxx/6xxx/7xxx (и более новые) |
PRB: Не удается использовать пользовательские частоты обновления экрана, хотя карта идентифицирует себя как VBE 3.0 совместимая.
DETAILS: В Video BIOS код переключения пользовательских частот обновления экрана изменен. Когда Вы пытаетесь через BIOS установить эти разрешения, BIOS всегда использует разрешение по умолчанию (60 Hz).
FIX: Не известно.
|
nVidia GeForce 5xxx/6xxx/7xxx (и более новые) |
PRB: Не удается установить разрешение выше 800x600.
DETAILS: В таблицах режимов Video BIOS режимы 1024x768 и выше отсутствуют или фильтруются. Когда Вы пытаетесь через BIOS установить эти разрешения, BIOS немедленно возвращает ошибку.
FIX: Обновите Ваш BIOS последней версией или самостоятельно сделайте патч.
|
Карты VESA 1.x |
PRB: Когда переключаемся в полноэкранный текстовой режим, компьютер "зависает".
DETAILS: В коде Video BIOS подпрограммы установки режимов "коряво" написаны и некорректно отрабатываются в 32 бит защищённом режиме.
FIX: Не известно. В DOS/Windows9x возможно использование программного VESA-драйвера.
|
Разнообразные VESA карты |
PRB: Прт вызове VBE функций, старшее слово EAX и возможно других регистров (т.е. 0x????0000) може содержать "мусор".
DETAILS: В коде Video BIOS VESA подпрограммы "коряво" написаны и некорректно отрабатывают использование 32 бит регистров.
FIX: Фильтровать старшее слово в EAX.
|
- ИЮЛ 12, 2005: на базе vbemp.sys (ReactOS) сделана первая "Ручная" версия.
- ФЕВ 20, 2006: первая публично выпущенная "Универсальная" версия vbemp.sys (VbempXP/VbempNT5/VbempNT4/VbempNT3). Включает и VBE 2.0 код и экспериментальный VBE 1.02 код. есть проблемы с некоторыми картами от ATI Technologies.
- НОЯ 04, 2006: 320x200x8бит "tricky" драйвер (Vga13H) для старых VBE 1.02 карт выпущен из-за некоторой несовместимости с такими картами у основной версии драйвера - ВРЕМЕННОЕ решение для осуществления LFB-эмуляции.
- НОЯ 18, 2006: новая БЕТА-версия драйвера. Весь код относящийся к VBE 1.02 и к переключению банков удален. не пытайтесь использовать этот драйвер на VBE 1.02 картах.
- НОЯ 28, 2006: очередная новая БЕТА-версия драйвера. VBE 1.02 ISA-карты будут работать только в 320x200x8бит режиме. начата адаптация драйвера к видеокартам PCI на основе VBE 1.02 (1995-1998 г.в.).
- ДЕК 01, 2006: предыдущая "Универсальная" версия переделана и заменена в загрузках.
- ДЕК 02, 2006: также переделана "Ручная" версия.
- ДЕК 11, 2006: последняя "Универсальная" версия теперь две-в-одной (2in1): MTRR USWC версия и нормальная. MTRR версия в некторых случаях быстрее по перерисовке экрана. Теперь PNP заработало лучше.
- ДЕК 23, 2006: небольшие исправления сайта/страницы.
- ДЕК 26, 2006: текущая версия драйвера ReactOS VBEMP быстренько адаптирована под Windows XP/2003 "с нуля" и добавлена галерея "Vbemp в работе".
- ДЕК 29, 2006: чистка сайта, ранее выпущенная Windows XP/2003 версия драйвера исправлена - удалены неработающие функции.
- ЯНВ 07, 2007: выпущена бета версия драйвера для Windows XP/2003 с поддержкой VESA DDC и переключением частот монитора (43-120Hz).
- ЯНВ 10, 2007: 320x200x8bit "tricky" драйвер (Vga13H) обновлен последними изменениями в PNP, Monitor DDC и VBE power management features.
- ФЕВ 13, 2007: выложил последние беты VBEMP для NT3/NT4/W2K c поддержкой APM и VBE 3.0 в одном архиве от 13 января.
- МАР 24, 2007: выложил последние беты VBEMP для NT3/NT4/W2K c поддержкой APM и VBE 3.0 в одном архиве от 20 февраля. Сайт подновлен.
- МАР 31, 2007: из-за проблем с нестабильностью кода VBE 3.0 в драйвере были выпущены две версии беты VBEMP (кроме версии для XP/2003): VBE30 и VBE20 (VBE20 версия не поддерживает переключение частоты обновления экрана).
- АПР 18, 2007: для удобства пользователей утилита BUILDVBE включена в состав утилиты INFOVBE.
- АПР 19-22, 2007: пофиксенная бета VBEMP выпущена. Версии для XP/2003 эта ошибка не коснулась.
- АПР 25, 2007: выпущены две НОВЫЕ беты: STDVID (4 EGA/VGA 16-цветных режима 0Dh/0Eh/10h/12h) и VGAMONO (эмулирует TrueColor на 640x480x2 - 11h).
- АПР 27, 2007: вызовы VBE30 и IOCTL теперь выполняются более аккуратно.
- МАЙ 04, 2007: выпущены утилиты INFOVBE и НОВАЯ VBE3TEST.
- МАЙ 17, 2007: вышел новый VBEMP с экспериментальной поддержкой ISA/VLB LFB карт.
- ИЮН 03, 2007: вышел новый VBEMP с поддержкой legacy-mode.
- ИЮН 17, 2007: выпущен VBEMP с небольшими исправлениями и поддержкой NT 3.1/NT 3.5.
- ИЮН 25, 2007: сайт слегка поправлен.
- ИЮЛ 15, 2007: выпущена панель управления для VBEMP.
- ИЮЛ 21, 2007: утилита INFOVBE обновлена.
- ИЮЛ 22, 2007: свежая версия VBEMP с поддержкой фильтрации режимов, улучшенным определением мониторов и расшифровкой edid в legacy-режиме.
- АВГ 17, 2007: "Ручная" версия обновлена последними изменениями в коде VBEMP и внесены изменения в инсталляцию.
- АВГ 31, 2007: сайт слегка поправлен.
- ОКТ 6-28, 2007: мелкие исправления VBEMP, VBEMPCpl и новая библиотека FRAMEVBE.
- МАР 05, 2008: поправлен сайт и вышла новая версия библиотеки FRAMEVBE.
- АПР 19, 2008: после длительного перерыва выпущена очередная версия VBEMP.
- АПР 26, 2008: мелкие исправления VBEMP, редизайн сайта.
- АПР 29, 2008: обновлена утилита INFOVBE.
- ОКТ 05, 2008: новая бета VBEMP.
- НОЯ 16, 2008: очередная бета VBEMP, исправлены неточности в расчётах VESA 3.0 GTF.
- НОЯ 30, 2008: библиотека FRAMEVBE теперь поддерживает Windows NT 3.5x.
- ДЕК 19, 2008: обновлена панель управления для VBEMP.
- ЯНВ 03, 2009: VGA13h вернулся к жизни и заменил STDVID.
- ЯНВ 08, 2009: новый "bugfix" выпуск драйвера CL54xx.
- ЯНВ 14, 2009: INFOVBE, VBEMP релиз с небольшими изменениями.
[!] Важно
[+] Новое
[-] Исправлена ошибка
[*] Изменения
[?] Комментарии
Лог разработчика представлен только в английском варианте. Сорри. :)
Проект VBEMP x86 драйвер *
Лицензия на использование и распространение
* далее по тексту - VBEMP.
- Все авторские права на VBEMP принадлежат только авторам - Bearwindows и Корпорации АнаПа.
- Любой пользователь имеет право использовать VBEMP в некоммерческих целях бесплатно.
- VBEMP распространяется свободно, при условии того, что настоящий дистрибутив не изменен. Ни одно частное лицо или организация не может брать плату за распространение VBEMP без письменного разрешения автора. Распространение любой версии VBEMP датированной до 19/10/2007 или создание "зеркал" содержимого сайта VBEMP категорически запрещено.
- VBEMP ПОСТАВЛЯЕТСЯ ПО ПРИНЦИПУ "AS IS". НИКАКИХ ГАРАНТИЙ НЕ ПРИЛАГАЕТСЯ И НЕ ПРЕДУСМАТРИВАЕТСЯ. ВЫ ИСПОЛЬЗУЕТЕ ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ НА СВОЙ РИСК. АВТОР НЕ БУДЕТ ОТВЕЧАТЬ НИ ЗА КАКИЕ ПОТЕРИ ИЛИ ИСКАЖЕНИЯ ДАННЫХ, ЛЮБУЮ УПУЩЕННУЮ ВЫГОДУ В ПРОЦЕССЕ ИСПОЛЬЗОВАНИЯ ИЛИ НЕПРАВИЛЬНОГО ИСПОЛЬЗОВАНИЯ ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ. УСЛОВИЯ ЛИЦЕНЗИИ, СОДЕРЖАЩИЕСЯ В ЭТОМ ДОКУМЕНТЕ МОГУТ БЫТЬ ИЗМЕНЕНЫ БЕЗ ПРЕДВАРИТЕЛЬНОГО УВЕДОМЛЕНИЯ, В БУДУЮЩИХ ИЗДАНИЯХ.
- Вы не можете использовать, копировать, эмулировать, создавать новые версии, сдавать в наем или аренду, продавать, изменять, декомпилировать, дизассемблировать, изучать код программы другими способами, передавать зарегистрированную программу или любые из ее составляющих, иначе, чем определено настоящим лицензионным соглашением. Любое такое нелегальное использование означает автоматическое и немедленное прекращение действия настоящего соглашения и может преследоваться по закону.
- Все права, не предоставленные здесь явно, сохраняются за Bearwindows и Корпорацией АнаПа.
- Установка и использование VBEMP означает, что Вы понимаете положения настоящего лицензионного соглашения и согласны с ними.
- Если почему-либо вы не согласны с этим лицензионным соглашением, вам необходимо удалить файлы дистрибутива VBEMP с ваших устройств хранения информации и прекратить использование VBEMP.
Благодарим за использование VBEMP.
Bearwindows и Корпорация АнаПа
Direct3D, DirectDraw, DirectShow, DirectSound, DirectX, Microsoft, MS-DOS, Visual C++, Win32, Win32s, Windows, Windows XP, Windows 2003 Server и Windows NT это либо зарегистрированные торговые марки или торговые марки Корпорации Майкрософт в США и/или других странах/регионах.
Имена компаний и продуктов упомянутые здесь могут быть торговыми знаками их уважаемых владельцев.
© Корпорация АнаПа 1988 – 2009. Все права защищены.
E-Mail: bearwindows_at_operamail_dot_com | Последнее обновление: 12 февраля 2009