Задержка, генерируемая Delay В сети Интернет популярен неполноценный патч (см. ниже). Задержки, которые задаются http://pascal.net.ru/Delay, с этим патчем на разных машинах разные. Вот другая процедура:
procedure Stop(Wait:LongInt); assembler; asm mov ah, 86h mov dx, word ptr Wait mov cx, word ptr Wait+2 int 15h end;
Error 200 Программы, написанные на паскале (старые), вылетают с ошибкой http://pascal.net.ru/Error+200%3A+Division+by+zero на быстрых машинах типа PII-300.
Если в программе используется http://pascal.net.ru/Crt%2DUnit, то программа виснет при запуске из-за инициализации, которая потом используется http://pascal.net.ru/Delay. Инициализация происходит в любом случае - даже если эта процедура не используется в программе. При написании своих программ используйте пропатченый CRT. (можно скачать с сайта)
Исправление уже написанных программ. Чтобы заработала уже скомпилированная программа (чужая), возьмите hex-редактор (например, в http://pascal.net.ru/SchoolPak есть HIEW) и:
Ищем: B93700F7F1 Меняем на: 6E (увеличение в 2 раза) или на: 9090 (убрать деление вообще)
Программа _не_ должна быть запакована EXE-паковщиками.
Исправление CRT самостоятельно. Для того, чтобы самому пропатчить CRT сделайте следующее. В файле 'crt.asm', расположенном в каталоге 'BP\RTL\CRT', найдите строчки
NOT DX MOV CX, 55 DIV CX
(они располагаются на строках 104-106). Замените во второй строке значение '55' на что-то большее - например на '110' или '550'. Либо можете удалить/закомментировать/заменить команду третьей строки на команду(ы) NOP. Затем, следуя инструкциям файла 'readme' из 'BP\RTL', создайте с помощью 'makefile', расположенного в том же каталоге, файлы 'TURBO.TPL' (для 'real mode') и 'TPP.TPL' (для 'protected mode'). Замените ими соответствующие файлы в каталоге 'BP\BIN'. Патчить аналогичный модуль 'TPW.TPL' для Windows не обязательно, т.к. он не содержит такой ошибки.
Скачать сразу весь TURBO.TPL с патчем: http://pascal.net.ru/Crt%2DUnit/TURBO.TPL (время задержки правильное)
Скачать установщик Turbo Pascal со всеми полезными патчами: http://pascal.net.ru/%D0%A1%D0%BA%D0%B0%D1%87%D0%B0%D1%82%D1%8C+Turbo+Pascal
Скачать пропатченный (с неправильным временем задержки) модуль CRT (для разных версий Паскаля) с инструкцией по установке: crt.zip ( 29.68 килобайт )
Кол-во скачиваний: 1980