Pascal error 200
borland pascal patch 200
Это я умею, у меня щас инета нету...
А то помню, что она там как-то тривиально правилась заменой какой-токонстанты на в 10 раз большую, а потом во всех delay'ах надо было в 10 раз дольшую задержку писать....
Нет, и есть инсталлить BP с сорцами, тоже нет...
Поищи в архивах.
"Runtime error 200 problem/bug" или "RTE 200"
Попробуй найти тот самый DIV руками, он должен легко искаться.
Google выдаёт кучу ссылок, но я не помню, есть ли зависимость от версии компилятора.
Например:
http://www.brain.uni-freiburg.de/~klaus/pascal/runerr200/
http://www.brain.uni-freiburg.de/~klaus/pascal/runerr200/download.html
---
"Верь сводке погоды, но доверяй --- интуиции.
Будь особенно бдителен, когда всё хорошо и нет поводов для тревоги."
ps
но может быть уже есть более новая версия патча
К сожалению, не покатило...
Т.е. нужные tpl заменились, а лучше не стало.
Может на Duron 1300 уже этот метод не прокатит? Опять слишком быстрый комп?
Что-то такое пролетало по эхе.
Толи весной это было, толи в прошлом году.
---
"А я обучался азбуке с вывесок,
листая страницы железа и жести."
http://shleps.narod.ru/rulez/error200.html
/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\
Лечение "Run-time error 200"
Широко известен баг компиляторов Turbo/Borland Pascal, который вызывает ошибку "Run-time error 200: Деление на 0" при выполнении программ на быстрых процессорах (начиная от PII-266). По материалам конференций ФИДО было выяснено, что ошибка возникает при инициализации счетчика, используемого процедурой Delay. Сама процедура описана в широко используемом модуле Crt.
Для лечения бага применяются два метода:
1) Патч exe'шника
Ищем в любом редакторе, имеющем 16ричный режим следующую строку и заменяем 37 на E6.
B9 37 00 F7 F1
E6
2)Патч библиотеки.
Аналогичным образом патчатся файлы turbo.tpl и tpp.tpl из каталога BP\BIN или TP\BIN (В поставке Borland Pascal, в отличие от Turbo Pascal имеются библиотеки для защищенного режима. Они имеют расширение .tpp) После описанной манипуляции Паскалем можно пользоваться на новых машинах не применяя каждый раз патч к получаемым программам.
/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\
C:\>debug
-e 100 b9 37 00 f7 f1
-u 100
0B06:0100 B93700 MOV CX,0037
0B06:0103 F7F1 DIV CX
/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\
Поищи, куда сохраняется значение.
Или поставь простые
mov ax, чего-то
mov dx, чего-то
Покосячишь задержки, но вдруг сработает.
---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."
Karel Capek
/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\
Лечение "Run-time error 200"
Широко известен баг компиляторов Turbo/Borland Pascal, который вызывает ошибку "Run-time error 200: Деление на 0" при выполнении программ на быстрых процессорах (начиная от PII-266). По материалам конференций ФИДО было выяснено, что ошибка возникает при инициализации счетчика, используемого процедурой Delay. Сама процедура описана в широко используемом модуле Crt.
Для лечения бага применяются два метода:
1) Патч exe'шника
Ищем в любом редакторе, имеющем 16ричный режим следующую строку и заменяем 37 на E6.
B9 37 00 F7 F1
E6
2)Патч библиотеки.
Аналогичным образом патчатся файлы turbo.tpl и tpp.tpl из каталога BP\BIN или TP\BIN (В поставке Borland Pascal, в отличие от Turbo Pascal имеются библиотеки для защищенного режима. Они имеют расширение .tpp) После описанной манипуляции Паскалем можно пользоваться на новых машинах не применяя каждый раз патч к получаемым программам.
/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\
C:\>debug
-e 100 b9 37 00 f7 f1
-u 100
0B06:0100 B93700 MOV CX,0037
0B06:0103 F7F1 DIV CX
/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\
Поищи, куда сохраняется значение.
Или поставь простые
mov ax, чего-то
mov dx, чего-то
Покосячишь задержки, но вдруг сработает.
---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."
Karel Capek
http://www.inetpro.ru/board/showflat.php?Cat=&Board=prog&Number=3308&page=0&view=collapsed&sb=5&part=
/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\
Все что нужно - это открыть exe файл в 16-ти ричном редакторе и заменить некоторые байты:
1. Первая последовательность для замены: необходимо найти тpи байта «BA 05 00» в шестнадцатеричной системе и заменить их на «BA FF 00»
2. Вторая последовательность для замены (только если первая не помогла!):
«90 E2 FE» на «FC E2 FD»
/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\
---
"Верь сводке погоды, но доверяй --- интуиции.
Будь особенно бдителен, когда всё хорошо и нет поводов для тревоги."
Кстати, пока я это писал, у меня все-таки получилось это! Она теперь работает, но только в досовском окне (у меня Win98 SE если оно в полнэкранном режиме! Она рисует кривую Коха (фрактал).
Всем спасибо за участие.
fido7.ru.pascal.chainik FAQ[2/4]
/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\
Можете так же воспользоваться утилитой unzero.com - маленький резидент,
позволяющий работать даже непропатченным программам. ЭТО HЕ ВИРУС!
section 1 of uuencode 5.10 of file unzero.com by R.E.M.
begin 644 unzero.com
MZ.,`#>+E([H8X1X-S^KMPRU];5U$](T=#/SE&LF977S^%-P/E[ "K3+0["B
M`KR[`+VW11'5+GV_KQ>/F&&*C"+OI9ND9-:J&]2>* I11NED0AH67'(J+DQV6
MFX\!BI&+,:FB/(:%3J,[&'[*=+%:P$%YNE%_>3<;!QD+" TT.$DHS#14)104/
M#A,%/CHD?#,U-C,R,GM>7G9;70LG.R4O+VDJ/F8_(3$M82A0459921I/ "1D&
M/SEA>V$0;%Q(35]#7TT'85=+5E(!"'PW/4<I("TN+SDL(3TK*#!$8 F)B;V-B
?;5H,""!>N>8`K#+!+HA$_^+WZ4+_*$,I35A,+U4%
`
end
sum -r/size 44168/383 section (from "begin" to "end")
sum -r/size 55029/256 entire input file
/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\
---
"Верь сводке погоды, но доверяй --- интуиции.
Будь особенно бдителен, когда всё хорошо и нет поводов для тревоги."
B9 37 00 F7 F1 можно заменить на B9 37 00 90 90
---
"Верь сводке погоды, но доверяй --- интуиции.
Будь особенно бдителен, когда всё хорошо и нет поводов для тревоги."
> Покосячишь задержки, но вдруг сработает.
Ладно, а то я разогнался способы латания кидать.
---
"Не надо читать много книг."
Мао Цзедун
я долго провозился, потому что не просек фишки с полноэкранным режимом...
Оставить комментарий
Elina74
Извиняюсь, что прошу такую древность,но плиз, дайте что-нибудь, чтобы пофиксить ошибку 200 (zero division) в Borland Paskal 7.0 или 7.1.
Лучше патч...