Вопрос-ответ

В позапрошлом номере "КВ" в рубрику "Вопрос-ответ" был задан вопрос о совместимости современного компьютера и некоторых старых программ. В частности написанных на Борланд Паскале с применением модуля CRT. Просто удивительно, какой бурный отклик среди читателей получил ответ на этот вопрос. Не буду приводить все письма, но в целом отклики сводились к тому, что автор не прав, указав в своем ответе причину неработоспособности программ в конфликте аппаратных средств. По мнению читателей, причина крылась в реализации модуля CRT. Однако позволю себе заметить, что автор не прав только частично. В вопросе указывалось, что программа работает нестабильно, т. е. иногда запускается, иногда - нет. В случае, когда модуль CRT используется в исходном виде, ошибка появляется, как правило, в 99,9%, и в этом случае действительно может изменить кое-что в исходных текстах этого самого модуля. Однако если ошибка плавающая, то, как правило, проблема не в модуле, а в аппаратном обеспечении. На самом деле проблема в том, что автор забыл указать вторую причину возможной неработоспособности программы, на которую и указали читатели. Каюсь, забыл. Показалось, что недавно отвечал. Однако нет худа без добра. Раз заметили, значит, кому-то это нужно, значит, читают. Это приятно греет душу. А теперь, во избежание дальнейшей полемики по этому вопросу, процитирую отрывок из письма Ковчуго Николая, в котором он приводит достаточно простой способ "ремонта" уже готовой программы:

Достаточно найти в запускаемом файле последовательность кодов: B9 37 00 F7 F1 и заменить на B9 6E 00 F7 F1 или B9 37 00 90 90 (все в шестнадцатиричном коде). Код B9 37 соответсвует mov cx,37. Достаточно увеличить значение 37 в два раза (см. первую последовательность для замены), т.е. на 6E, как ошибка исчезает. Код F7 F1 соответствует команде div cx, поэтому исправить ошибку можно, забив F7 F1 кодом 90 90, что соответствует командам nop (90).


Решил в свой домашний компьютер (Intel Р-233ММХ, MB Lucky Star 5VP3) купить 3D-ускоритель (под шину AGP, раз уж на материнской плате она есть). Перепробовал платы с чипами Verite Rendition, Intel 740, S3 Savage 3D (от 2-x производителей), но ни на одной не смог остановиться:

а) все 4 платы объявлены соответствующими VESA 2.0, но ни одна не поддерживает видеорежим 800х600х16 цветов при работе в DOS.

Иногда помогает UniVESA. Впрочем, нужно быть готовым, что большинство современных видеоадаптеров, спаренных с 3D-ускорителями, не имеют полной VESA-совместимости. Кстати, не только VESA. Многие функции CGA ... VGA режимов тоже работают некорректно. Связано это с тем, что современный видеоадаптер совсем не похож на своего предшественника 3-5-летней давности. Как правило, все режимы совместимости с CGA ... VGA решаются методом частичной или полной эмуляции. Посему возможны разнообразные отклонения.


б) Под Windows 95 все платы, кроме Intel 740, устанавливают кадровую частоту 60 Герц, и нет средств для ее изменения, для регулировки размера и центровки изображения (я имею в виду средства штатные, поставляемые с видеоплатой).

Максимальную частоту кадровой развертки определяет не видеокарта, а монитор. У Вас, скорее всего, установлен (в настройках Windows ) PnP-монитор. Замените его на Ваш монитор или, при его отсутствии, на какой-либо монитор, поддерживающий заведомо большие значения кадровой развертки, чем Ваш (например, Sony 17GLR), и выбирайте частоты. Средства же изменения размера и положения изображения на мониторе не являются стандартными и часто конфликтуют с остальными компонентами Windows. Поэтому очень немногие производители включают их в комплект драйверов. В данном случае это, скорее, достоинство.


Verita Rendition не поддерживает Open GL...

Не все так страшно, возможно, следующая версия драйверов будет поддерживать Open GL.


Может, виноваты беспородные производители проверявшихся экземпляров, сэкономившие на разработке (у всех были драйверы ENGINEERING RELEASE), и стоит поискать драйверы от других производителей однотипных плат в надежде, что они подойдут?

Поиск свежих версий драйверов всегда будет полезным. Тем более, что, как правило, большинство производителей видеоадаптеров допускают установку "чужих" драйверов. Кроме того, всегда стоит посетить WWW-сервер производителя Вашего оборудования. Вполне возможно, что там найдется новая версия драйверов, которая решит Ваши проблемы.


После перезагрузки компьютера размер видимого изображения на мониторе стал меньше. Почему?

Скорее всего, компьютер или монитор просто "забыл" установки размера изображения или, что скорее, и частоты кадровой развертки тоже. Такое иногда случается при бросках напряжения в осветительной сети.


Жесткий диск более 6 Гб. Плохо это или хорошо?

Тенденция на снижение цен на жесткие диски IDE-интерфейсом привела к тому, что жесткий диск объемом более 6 Гб стало купить по карману простому смертному. Однако не спешите. Кажущаяся дешевизна может обернуться для Вас неприятными последствиями. Сегодня ситуация с жесткими дисками очень напоминает 1994 год - эпоху преодоления 520 Мб. В силу аппаратно-программных ограничений BIOS компьютеров тех времен не мог правильно понять диск объемом более 520 Мб. В те времена появился LBA - метод адрасации к дискам большой емкости. Не будем вдаваться в подробности его реализации, отметим лишь, что данный стандарт не понимает жесткие диски объемом 8 или 10 Гб. Впрочем, все не так страшно. Подавляющее большинство производителей материнских плат включили поддержку жестких дисков такой емкости. Однако, что же касается производителей программного обеспечения... Большинство современных программ не понимают диски таких объемов. Возьмите, к примеру, обычный FDISK из комплекта Windows 95 и попробуйте создать 2 раздела, к примеру, 30% и 70%, на диске объемом 8 Гб, после чего сделайте при помощи Norton Utilites резервную копию важных областей диска, а затем попробуйте их восстановить. Вас ожидает разочарование. Norton Utilites не смогут правильно восстановить таблицу разделов. Примеров таких привести можно много. Конечно, из этого не следует однозначный вывод, что диск большого объема покупать не стоит. Программные продукты скоро догонят в своем развитии аппаратное обеспечение. Однако если Вам необходима достаточно высокая вероятность сохранности данных на Вашем жестком диске именно сегодня, то стоит остановиться на 6 Гб либо подождать несколько месяцев.

Яхен П.

Версия для печатиВерсия для печати

Номер: 

28 за 1999 год

Рубрика: 

На заметку
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!