Ошибка видеокарты Ega vga

Обновлено: 21.11.2024

В этой пошаговой статье описывается, как заставить Windows использовать стандартный драйвер режима VGA, входящий в состав Windows. Эта процедура полезна в следующем сценарии.

Если вы устанавливаете Windows на компьютер с неподдерживаемым видеоадаптером, программа установки Windows устанавливает стандартный драйвер режима VGA. Однако после установки Windows вы получаете и устанавливаете совместимый с Windows драйвер для видеоадаптера от производителя оригинального оборудования (OEM).

В этом случае у компьютера могут возникнуть проблемы с выключением или он может перестать отвечать на запросы (зависнуть). Чтобы устранить эту проблему, вы можете удалить новые OEM-драйверы и вернуться к стандартным драйверам VGA, чтобы определить, не являются ли OEM-драйверы причиной проблемы.

В этой статье описывается, как удалить видеодрайверы OEM и заставить Windows использовать стандартные драйверы VGA, входящие в состав Windows.

Заставить Windows использовать стандартные драйверы режима VGA без необходимости использования безопасного режима

При установке OEM-драйвера программа установки Windows копирует установочный файл OEM (Oemsetup.inf) в папку %Systemroot%\Inf. Затем программа установки переименовывает файл Oemsetup.inf в Oemn.inf, где n — порядковый номер для каждого установленного OEM-драйвера.


Чтобы идентифицировать OEM-файл Oemn.inf для видео, вы можете открыть каждый файл Oemn.inf в Блокноте Microsoft, а затем сравнить его с исходным файлом Oemsetup.inf. Найдя совпадение, переместите определенные файлы Oemn.inf и Oemn.pnf в другое место или переименуйте файлы с другим расширением имени файла.

После того, как вы найдете соответствующие INF-файлы, переместите Oemn.inf и Oemn.pnf в другую папку.

В диспетчере устройств щелкните видеоадаптер правой кнопкой мыши и выберите "Удалить", чтобы удалить видеоадаптер.

Перезагрузите компьютер.

После входа в систему вы получите сообщение о том, что найдено новое оборудование и что это видеоконтроллер, совместимый с VGA. Запустится мастер нового оборудования.

Нажмите «Поиск подходящего драйвера», а затем нажмите «Далее».

Снимите все флажки параметров поиска, а затем нажмите "Далее".

Нажмите «Отключить устройство», а затем нажмите «Готово».

После выполнения шагов с 1 по 7 Windows использует универсальный видеодрайвер Vga.sys. Это тот же драйвер VGA, который Windows использует в безопасном режиме.

Если при использовании стандартного драйвера VGA компьютер работает стабильно или выключается обычным образом, возможно, вам придется обратиться к поставщику OEM-драйвера, чтобы сообщить о проблемах, возникающих при использовании OEM-драйвера. Вам также может потребоваться получить и установить более новый драйвер (если он доступен), который решает эти проблемы.

Чтобы восстановить OEM-драйверы, выполните следующие действия:

Переместите файлы Oemn.inf и Oemn.pnf обратно в папку %Systemroot%\Inf.

Используйте диспетчер устройств, чтобы удалить видеоадаптер VGA, а затем перезагрузите компьютер.

Windows Plug and Play находит OEM-видеоадаптер и автоматически переустанавливает OEM-драйверы.

Публикации Энн Барела об электронике, в том числе о старинных и современных проектах, а также о проектах Интернета вещей.

Воскресенье, 17 февраля 2019 г.

Использование видеокарт EGA и VGA в компьютерах IBM 5150 PC, 5155 Portable и 5160 PC/XT

Впервые я столкнулся с проблемами видеокарты при отладке портативного компьютера IBM 5155. Кроме того, нет видео, он подает звуковой сигнал один длинный, два коротких при запуске. Я много раз переключал видеокарту и делал гимнастику с перемычкой, чтобы попытаться понять это правильно, когда мне нужно было больше копаться в Интернете. Два переключателя на материнской плате, вероятно, сделали бы свое дело.

Обратите внимание: здесь есть много предостережений, и не все карты будут работать на всех компьютерах. Одна из причин, по которой я (пока) не составляю таблицу совместимости, заключается в том, что это уже сделали другие, и это требует дорогостоящего тестирования.

· Из SW1 и SW2 SW1 является блоком переключателей, ближайшим к центру материнской платы.
Эти параметры применимы как к версиям материнской платы 5150 16 КБ-64 КБ, так и к версиям 64 КБ-256 КБ.

· Если ваш IBM 5150 содержит контроллер жесткого диска класса XT, имейте в виду, что некоторые карты VGA могут иметь конфликт ресурсов с ним.

Убедитесь, что переключатели 5 и 6 находятся в положении ON

IBM 5155 содержит раннюю версию материнской платы IBM 5160.

Итак, см. ниже, чтобы увидеть настройки переключателей материнской платы 5160, отметив, что два переключателя для типа видеокарты обычно установлены на CGA (поскольку карта IBM CGA — это карта, поставляемая IBM в 5155).

· Не устанавливайте карту в слот расширения 8 (ближайший к ЦП слот), если карта специально не поддерживает слот 8. Карты, совместимые со слотом 8, обычно имеют перемычку «слот 8».

· Если ваш IBM 5160 содержит контроллер жесткого диска XT-класса, имейте в виду, что некоторые карты VGA могут иметь конфликт ресурсов адресного пространства с ним.

· Убедитесь, что переключатели конфигурации видеокарты установлены правильно (без документации это может быть сложно)

Подходящие видеокарты

Вы не должны предполагать, что, поскольку конкретная карта VGA работает в IBM 5160 (IBM XT), эта же карта будет работать и в IBM 5150.

Конфигурация карты VGA

Некоторые карты VGA имеют переключатели конфигурации и/или перемычки. Пример здесь. Обратитесь к документации карты, чтобы убедиться, что эти переключатели/перемычки установлены правильно. Что касается переключателей, не путайте положение «выключено» с положением «включено».

Есть меньше вещей, которые раздражают больше, чем проблемы с компьютером в течение напряженного рабочего дня, особенно если ваш местный технический гуру не может решить эти проблемы. Если вы установили новую графическую карту на рабочую станцию, а на мониторе отображается пустой экран или второй дисплей не работает, возможно, он не распознает новое оборудование. Выполните несколько шагов по устранению неполадок, чтобы точно определить проблему.

Включите монитор. Большинство мониторов имеют светодиодный индикатор питания.

Проверьте кабельные соединения видеокарты. Если видеокарта использует соединение VGA или DVI, вверните стопорные винты, чтобы зафиксировать ее. Если кабель отсоединяется от монитора, проверьте также соединения на входном порту монитора.

Замените кабели видеокарты, чтобы убедиться, что неисправный комплект кабелей не является причиной.

Выключите компьютер, отсоедините все кабели и откройте корпус компьютера. Нажмите на видеокарту, чтобы убедиться, что она надежно закреплена в слоте для карты, а защелки на месте. Замените корпус и снова подключите кабели. Включить компьютер. Перейдите к следующему шагу, если видеокарта по-прежнему не распознается.

Подключите монитор к встроенному видеомодулю материнской платы, перезагрузите компьютер и нажмите клавишу «F2», когда появится экран загрузки. Это приведет вас к настройкам BIOS материнской платы. Все меню BIOS материнской платы различаются, но если на вашей материнской плате есть опция встроенного видео, отключите ее. Также убедитесь, что слот вашей видеокарты — AGP, PCI или PCI-Express — не отключен. Сохраните настройки BIOS и перезагрузите компьютер.

Загрузите и установите последние версии драйверов для вашей видеокарты. Обычно вы можете загрузить пакеты драйверов с веб-сайта производителя видеокарты, но если производитель не обновляет драйверы регулярно или не предоставляет драйверы для загрузки, вы также можете загрузить общие эталонные драйверы для видеокарт на базе AMD или NVIDIA. с соответствующих веб-сайтов.

Эта статья является частью исследования о портах Другой Мир. Настоятельно рекомендуется прочитать Another World 101, прежде чем читать это.

В течение трех десятилетий IBM спокойно доминировала на рынке мейнфреймов. Когда в 1979 году продажи микрокомпьютеров достигли 150 миллионов долларов, «Колосс Армонка» решил выпустить свой собственный. Поскольку несколько конкурентов, таких как Hewlett-Packard (HP), Texas Instruments (TI), Tandy и Data General, уже существуют, IBM поступила иначе, чтобы выделиться.

Вместо того, чтобы двигаться вертикально, как это было раньше, когда большинство компонентов и программного обеспечения разрабатывались собственными силами, IBM построила свой микрокомпьютер горизонтально. Они приобрели такие элементы, как ЦП, у Intel и поставили операционную систему PC DOS 1.0 от Microsoft.

Они пошли еще дальше, предоставив спецификации и схемы машины. Для потребителей, привыкших бороться с производителями за технические детали, это был совершенно новый мир.

Техническое справочное руководство IBM PC за 36 долларов США включало в себя полные схемы схем, прокомментированный исходный код ROM BIOS и другую инженерную и программную информацию для всего аппаратного обеспечения IBM, связанного с ПК, а также инструкции по проектированию сторонних периферийных устройств.< /p>

Первый персональный компьютер IBM был выпущен 12 августа 1981 года вместе с моделью 5150. Он работал на базе процессора Intel 8088 (4,77 МГц) с 16 КБ ОЗУ и графической картой MDA, которая могла отображать только текст. Это был ошеломляющий успех: в день анонса было заказано 40 000 единиц. Некоторое время IBM оставалась единственным поставщиком того, что называлось «ПК».

Когда популярность компьютеров IBM перешагнула порог, открытость, которая способствовала успеху, стала помехой. В марте 1983 года Compaq представила «совместимый с IBM PC» под названием «Compaq Portable».Вскоре после этого рынок ПК был наводнен клонами ПК. IBM попыталась создать новый стандарт, используя защищенную авторским правом шину MCA. Когда эта попытка потерпела неудачу, IBM фактически потеряла контроль и быстро приобрела завышенную репутацию.

«Переоцененный» PS/1 1991 года. Обратите внимание на огромный расширитель Disney Sound Source.

ПК IBM были построены на основе концепции "большого железа" с чудовищным процессором, большим объемом оперативной памяти и всем остальным, что клиент хотел купить в качестве дополнительной карты. В 1991 году эти надстройки включали графическую карту, которая могла быть любой, от TGA, EGA до новейшей VGA. То же самое относится и к звуковой части с не менее чем четырьмя типами несовместимых выходов (Beeper, AdLib, SoundBlaster и Disney Sound Source).

Чтобы выпустить программное обеспечение для «IBM PC или совместимых», разработчики могли отображать только список «минимальных требований» и «рекомендуемой конфигурации» на коробке с игрой. Там были перечислены поддерживаемые ЦП, ОЗУ, графический адаптер и звуковые карты.

"Типичный" ПК 1991 года должен был состоять из процессора Intel 386 с тактовой частотой 16 МГц, 2 МиБ ОЗУ и аудиокарты AdLib. Как и в Atari ST, был контроллер DMA, который нельзя было использовать для Blit, поскольку он был предназначен для передачи данных с дискет/жестких дисков.

С момента появления первого ПК в 1981–1991 годах было выпущено пять основных графических стандартов. MDA и CGA в основном вымерли, но все еще существовала большая база старых TGA/EGA, которые еще не были обновлены до VGA.

В предыдущих поколениях TGA/EGA использовалась ужасная 2-битная цветовая система (6 бит/цвет).

Настройка этих карт представляла собой беспорядок из 300 взаимодействующих друг с другом регистров. К счастью, BIOS ПК предоставил процедуру настройки всего. В то время в зависимости от видеокарты было доступно 19 режимов.

Обратите внимание на три режима 320 x 200 с не менее чем 16 цветами, которые соответствуют требованиям виртуальной машины Another World. Как мы увидим, это не совсем то, что в конечном итоге использовалось.

Удивительно, но графический режим TGA был представлен не Tandy Corporation, а IBM. Когда крупная железная компания выпустила в 1984 году «PCjr», нацеленный на рынок Apple II/Commodore 64, они воспользовались возможностью, чтобы улучшить свой устаревший CGA. Позже в том же году Tandy Corporation выпустила Tandy 1000 по более низкой цене, с более легкой расширяемостью и более широкой совместимостью с ПК. Если сначала Tandy «приняла» графическую подсистему IBM, более высокие продажи позволили им «улучшить» [1] и в конечном итоге «погасить» имя PCjr.

Каждая версия MDA/CGA/EGA/VGA была обратно совместима, но TGA имеет три эксклюзивных режима: 8h, 9h и Ah. Самое интересное для Another World — это конечно 9h 320x200 16 цветов. Этот режим был доступен только со специальным расширением VRAM на 128 КБ (8x16 КБ), поскольку это «режимы с высокой пропускной способностью», требующие памяти с четырехкратным чередованием [2] .

Графический макет режима 9h очень похож на Atari ST, который мы рассмотрели в прошлой статье.

Фреймбуферы размещаются в ОЗУ, поскольку на этих машинах не было видеопамяти. Пиксели располагаются линейно в виде полубайтов, кодирующих 4-битные индексы цвета [3] .

EGA и VGA очень похожи. Оба они могут быть настроены на 320x200 в 16-цветном режиме через режим 9h. Здесь находится видеопамять, к которой ЦП обращается непосредственно через окно ОЗУ размером 64 КиБ.

Кадровый буфер организован так же, как Amiga, которую мы изучали в первой статье, за исключением того, что каждая битовая плоскость находится в выделенном банке памяти. Есть четыре банка и. В режиме 9h бит из каждых четырех банков объединяется в полубайт, в результате чего получается 4-битный индекс цвета.

Карты VGA имеют намного больше видеопамяти (256 КБ при 4x64 КБ), чем карты EGA (128 КБ при 4x32 КБ), что не имеет значения для Another World. VGA имеет более глубокие цвета (6 бит/канал против 2 бит/канал), что очень важно.
Отображение памяти EGA/VGA 64 КиБ в банки VRAM

С точки зрения вычислительной мощности ПК намного превосходил Amiga и Atari ST, которые мы посещали в прошлый раз. Проблема с играми заключалась в очень медленном видео.

Система отображения памяти никогда не предназначалась для анимации. Он был разработан с учетом работы с электронными таблицами и текстовыми редакторами. Проталкивание всех этих пикселей по шине заняло много времени. Кроме того, работа с битпланом была громоздкой, особенно без сопроцессора, такого как Amiga Blitter.Возьмем в качестве примера простую процедуру очистки экрана в режиме 9h.

Даже на лучшем ПК 1991 года этот пример кода не мог развить скорость выше 5 кадров в секунду [4] . Это патологический пример, так как экран очищается слева направо. Однако даже при очистке по вертикали, чтобы избежать переключения банка, этот код все равно будет работать только со скоростью 10 кадров в секунду [5] .

Большинство игр пытались решить эту проблему, стараясь максимально избегать переключения банков. Wolfenstein 3D, например, отрисовывал все, от стены до спрайтов, включая HUD по вертикали именно по этой причине, и даже тогда только 72% экрана обновлялось каждый кадр, чтобы достичь 11 кадров в секунду на 386SX 16 МГц.

Учитывая ограничения TGA/EGA/VGA, портирование Another World на ПК казалось сложной задачей. Вам нужно было не только справиться с фрагментацией, но и невероятно быстро создать движок, отвечающий требованиям.

Эта проблема досталась Даниэлю Мораису, который в то время работал по контракту с Delphine Software.

Эрик Чахи обязал все порты иметь частоту кадров, соответствующую версиям Atari и Amiga. Даже на легком ПК с процессором 286 игра должна была работать со скоростью 24 кадра в секунду.

Чтобы справиться с фрагментацией графической и звуковой систем, Дэниел написал уровень абстракции, основанный на указателях на функции.

Было бы намного проще написать порт DOS для ПК с помощью C. Но Эрик написал версию для Atari ST и Amiga на ассемблере 68000. Я воспринял это как вызов и бросил себе вызов сделать то же самое. В итоге ВМ была на 100% написана на x86 asm.

В 1991 году не было PnP. Чтобы настроить игру, пользователям приходилось запускать CONFIG.EXE, текстовый инструмент, чтобы детализировать свои периферийные устройства.

Параметры сохраняются в файле CONFIG.DAT. Когда ANOTHER.EXE запускается, он считывает файл и назначает указатели функций на основе графической и звуковой карт для привода.

На графической карте TGA выбора не было. Режим 9h обеспечивал разрешение 320x200 с 16 6-битными цветами. Автоматическое преобразование палитр из 4-битных цветов в 2-битные с помощью LSR привело к наложению цветов. Решение состояло в том, чтобы конвертировать все палитры вручную.

Визуальный результат "особенный". Имейте в виду, что суть здесь не в количестве цветов (в TGA их 16), а в глубине цвета.

Лифт (TGA/EGA) Офис (TGA/EGA) Исследование (TGA/EGA) Встреча (TGA/EGA) Зверь (TGA/EGA) Результат может понравиться не всем, но я не думаю, что с 6-битными цветами можно было бы сделать намного больше. Расположение данных похоже на Atari ST, которое мы только что изучили, TGA далее обсуждаться не будет.

На графической карте EGA лучше всего использовать режим Dh. Используются те же палитры, разработанные для TGA, поскольку цвета EGA также кодируются в 6-битном режиме. Остальное работает как VGA.

По этой причине игра также поставлялась с палитрами Amiga (наряду с палитрами TGA/EGA). В этой конфигурации цвета передискретизируются с 4-битного до 6-битного для каждого канала во время выполнения.

Игра поставляется с двумя наборами палитр. Один набор 6-бит/цвет для TGA/EGA и набор Amiga для VGA. В TGA игра использует режим 9h. В EGA/VGA игра работает в режиме Dh.

Отрисовка многоугольников, как и на Atari ST, полностью выполняется программно. Простой алгоритм двойного Брезенхэма генерирует координаты начала и конца экрана горизонтальных линий. Далее возникла проблема с достаточно быстрым заполнением этих строк.

К счастью, в Париже был замечательный компьютерный книжный магазин под названием "Le monde en tique" с запасом книг по программированию, которые вы не могли найти больше нигде во Франции. Я нашел один, подробно объясняющий защелки EGA/VGA, и это очень помогло.

Хитрость заключалась в том, чтобы использовать тот факт, что полигоны состоят из одного цвета, и играть с выбором банка. Вместо того, чтобы записывать в один банк за другим, маску банка можно настроить для одновременной записи во все банки.
Запись 1 байта в RAM приводит к записи 4 байтов в VRAM Производительность зависит от выравнивания, но в лучшем случае этот трюк преобразует запись 1 байта в запись 4 байтов. Это привело к восьми последовательным горизонтальным пикселям с одним записанным байтом.

Я не помню точную цифру, но помню, что рисование полигонов было ОЧЕНЬ БЫСТРЫМ. С этим 8-кратным ускорением частота кадров оказалась намного выше цели в 24 кадра в секунду, которую мы поставили перед собой.

Последняя часть головоломки заключалась в том, чтобы найти способ выполнить код операции COPY FB достаточно быстро. Опять же, поначалу казалось, что порт будет коленной чашечкой. Поскольку фреймбуфер был записан в VRAM благодаря уловке с селектором банка, единственный способ скопировать, по-видимому, состоял в том, чтобы вернуть фреймбуфер из VRAM в RAM для хранения и записать его обратно в VRAM по запросу.

Уловка, позволяющая решить эту проблему, подробно описана Майклом Абрашем в его статье "Mode X Marks the Latch". Дизайнеры EGA/VGA не были законченными садистами. Чтобы справиться с гранулярностью битовых плоскостей и позволить отображать один бит в байтах, каждый банк имеет однобайтовую защелку. Благодаря «запоминанию» последнего прочитанного байта побитовое построение значительно упрощается.

Хитрость здесь заключается в том, чтобы изменить назначение защелок. Вместо того, чтобы использовать их для построения бита, они используются для чтения и записи по четыре байта за раз.
Защелки EGA/VGA и битовая маска Благодаря выбору хранения BKGD в VRAM вместе с двойными буферами код операции COPY FB был реализован с 4-кратным ускорением.

В этой серии звуковая часть особо не обсуждалась, поскольку на большинстве платформ это была «решенная проблема». По-видимому, с портом DOS для ПК это предположение не подтвердилось.

Часть EGA/VGA была несложной в написании, потому что в основном это было кодирование файловой строки одного цвета или копирование целых буферов кадра из VRAM в VRAM. Как только вы узнали, как работает EGA/VGA, все стало довольно просто.

Сложнее стало, когда я кодировал звуковую часть. Музыка для Amiga была написана с помощью инструмента в стиле Sound Tracker с аудиосэмплами, воспроизводимыми по четырем каналам. На Amiga и ST это было проще простого, поскольку на этих машинах было все необходимое. Но на ПК это была совсем другая история. У этих машин по умолчанию был «зуммер», а у счастливчиков была AdLib, способная воспроизводить FM. Ни у одного из них не было возможностей PCM, как у Sound Blaster и Gravis UltraSound, которые позже были предоставлены.

Чтобы решить эту проблему, мне пришлось модифицировать таймер IRQ (с 80 или 100 Гц до 8000 Гц, моя память нечеткая). Это означает, что основная программа прерывалась 8000 раз в секунду, чтобы сделать что-то еще. Это что-то еще обязательно должно быть как можно короче, иначе компьютер выйдет из строя. Цель состояла в том, чтобы заставить PC Buzzer или AdLib вибрировать с нужной частотой для имитации сэмпла PCM.

Результат был далек от оригинала, но если нахмурить уши, то можно было в это поверить. В любом случае это лучше, чем полное отсутствие звука.

Разное: В версии для ПК дистрибьютор Interplay пожаловался на продолжительность игры (которую можно было пройти всего за 20 минут при наличии некоторого опыта). Чтобы увеличить продолжительность, были добавлены новые уровни, чтобы увеличить общее количество с двенадцати до пятнадцати [6] .

Дэниел предоставил Delphine Software великолепный порт. Работая в том же разрешении, что и Atari ST и Amiga (320x200 и 16 цветов), ему даже удалось снизить минимальную конфигурацию до 286 процессоров 10 МГц с 640 КБ ОЗУ на ЛЮБОЙ графической карте TGA, EGA или VGA [7]. < /p>

Читайте также: