Pascal error 200
google.com
borland pascal patch 200
borland pascal patch 200
Это я умею, у меня щас инета нету...
Исходник модуля crt.tpu есть?
А то помню, что она там как-то тривиально правилась заменой какой-токонстанты на в 10 раз большую, а потом во всех delay'ах надо было в 10 раз дольшую задержку писать....
А то помню, что она там как-то тривиально правилась заменой какой-токонстанты на в 10 раз большую, а потом во всех delay'ах надо было в 10 раз дольшую задержку писать....
Нет, и есть инсталлить BP с сорцами, тоже нет...
В RU.DOS часто обсуждался этот вопрос.
Поищи в архивах.
"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
---
"Верь сводке погоды, но доверяй --- интуиции.
Будь особенно бдителен, когда всё хорошо и нет поводов для тревоги."
Поищи в архивах.
"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
но может быть уже есть более новая версия патча
ps
но может быть уже есть более новая версия патча
Спасибо большое, это то, что я искал.
К сожалению, не покатило...
Т.е. нужные tpl заменились, а лучше не стало.
Может на Duron 1300 уже этот метод не прокатит? Опять слишком быстрый комп?
К сожалению, не покатило...
Т.е. нужные 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»
/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\
---
"Верь сводке погоды, но доверяй --- интуиции.
Будь особенно бдителен, когда всё хорошо и нет поводов для тревоги."
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»
/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\
---
"Верь сводке погоды, но доверяй --- интуиции.
Будь особенно бдителен, когда всё хорошо и нет поводов для тревоги."
В этой программе zerodivide возникает не в результате каких-то моих делений, а в результате того, что Паскаль в начале работы программы пытается определить скорость процессора, путем выполнения какого-то простого цикла небольшое целое число раз. Потом делит это кол-во на количество системных тиков, которых в секунде пара десятков и таким образом подстраивает, как должен работать Delay. Это при всем том, что у меня нет в программе делений на ноль и использования самой функции Delay. Просто метод этот слишком примитивный и на быстрых компах не успевает пройти ни одного тика, за время выполнения циклов...
Кстати, пока я это писал, у меня все-таки получилось это! Она теперь работает, но только в досовском окне (у меня Win98 SE если оно в полнэкранном режиме! Она рисует кривую Коха (фрактал).
Всем спасибо за участие.
Кстати, пока я это писал, у меня все-таки получилось это! Она теперь работает, но только в досовском окне (у меня 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
/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\/^\
---
"Верь сводке погоды, но доверяй --- интуиции.
Будь особенно бдителен, когда всё хорошо и нет поводов для тревоги."
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
---
"Верь сводке погоды, но доверяй --- интуиции.
Будь особенно бдителен, когда всё хорошо и нет поводов для тревоги."
B9 37 00 F7 F1 можно заменить на B9 37 00 90 90
---
"Верь сводке погоды, но доверяй --- интуиции.
Будь особенно бдителен, когда всё хорошо и нет поводов для тревоги."
Да, я знаю.
> Покосячишь задержки, но вдруг сработает.
Ладно, а то я разогнался способы латания кидать.
---
"Не надо читать много книг."
Мао Цзедун
> Покосячишь задержки, но вдруг сработает.
Ладно, а то я разогнался способы латания кидать.
---
"Не надо читать много книг."
Мао Цзедун
Да, а вылечилось, как оказывается, заменой tpl на их экземпляры 98-го года
я долго провозился, потому что не просек фишки с полноэкранным режимом...
я долго провозился, потому что не просек фишки с полноэкранным режимом...
Оставить комментарий
Elina74
Извиняюсь, что прошу такую древность,но плиз, дайте что-нибудь, чтобы пофиксить ошибку 200 (zero division) в Borland Paskal 7.0 или 7.1.
Лучше патч...