|
PASP2FIX | Описание | Информация | Fixing TurboPascal7.0 CRT-TPU PentiumII DIV-BUG (Error 200).
Ошибка проявлялась при стартовой инициализации функции "delay", даже если эта функция "delay" и не используется в программе. Причина глючения в библиотеке та, что в ней была сделана попытка реализации задержек чисто программным путём, с помощью нужного числа пустых итераций. И это работало до какого-то момента, и довольно неплохо. Однако, с появлением на порядок более быстрых компьютеров, заглючило. С другой стороны, аппаратная реализация функции "delay" была бы значительно менее эффективной. Может, самым верным решением было бы создание счётчика из заведомо гигантского числа регистров, и инициализация его только при первом вызове функции "delay" - но это привело бы к неверному результату при этом первом её вызове. В общем, однозначно верных ответов тут не существует.
-------------------------------- Упрощённо алгоритм работы этой программы Fixing ERROR 200: Ищем байты db 0B9h,37h,00,0F7h,0F1h Меняем на db 0B9h,37h,00,090h,090h
Ещё одно, очень элегантное решение по нейтрализации этой ошибки - см. здесь: http://old-dos.ru/index.php?page=files&mode=files&do=show&id=6029 -----------------------------------
Примеры тех случаев, когда паскалевские программы с этой ошибкой, будучи пофиксенными,перестают верно проигрывать мелодии, можно посмотреть здесь:
Birthday! - http://old-dos.ru/index.php?page=files&mode=files&do=show&id=3566
Calendar - http://old-dos.ru/index.php?page=files&mode=files&do=show&id=3105
. | Раздел: Turbo Pascal Pentium II DIV BUG fixing Скриншоты Операционная система: DOS Требования: минимум Автор: .SVD. Издатель: -
Добавил: Nika (2013.04.05) | Доступные файлы - сортировка по имени и версии, времени добавления Файлов: 1. Файл | Размер | Выпуск | Версия | Язык | Качество | Загрузил | | 0.6 Кб | 2000 | 0.000a | Английский | ![[Не подделка]](http://old-dos.ru/img/nofake.png) | Nika 2013.04.05 |
 |
Комментарии | Комментариев пока нет. Почему бы вам не оставить свой? | |
|