TPPATCH je oprava chyby projevujici se ve vsech programech ktere jsou naprogramovany za
pouziti prekladace Turbo Pascal a bezicich na pocitacich s procesorem Pentium Pro 200MHz
nebo rychlejsim.
Tato chyba se projevuje hlasenim "runtime error 200" zpusobenym vykonanim
inicializace procedury Delay(). Chyba zpusobi, ze vysledek po vykonani instrukce DIV se
nevejde do ciloveho registru.
Chyba je zpusobena neustalym zrychlovanim pocitacu ze dne na den. Pro kalibraci
procedury Delay() je vyuzito mereni kolik tiku casovace uplyne za dobu potrebnou pro
vykonani kalibracniho poctu instrukci. Vzhledem k tomu, ze nove procesory jsou tak rychle,
ze casovac nestihne vykonat za dobu mereni ani jedinny tik a ani Pentium Pro neni tak
genialni aby umel delit nulou, skonci program chybou.
Vzhledem k teto chybe musite "ozaplatovat" vsechny soubory, ktere byly
kompilovany Turbo Pascalem, napr. T602, M602,... Tato procedura je pouzitelna rovnez na
aplikace zkompilovane pro chraneny mod.
Pro "ozaplatovani" software bez toho, ze by jste meli zdrojove texty, musite
uplatnit jine metody, nez vymenu Delay() ci jine "low-level" triky.
"Zaplata" Andrease Bauera osetruje tuto
chybu testem na nulu pred delenim. Vzhledem k tomu, ze timto testem narusta delka
programu, autor dovedne vyuzil mirnych laxnosti programatoru a byl donucen elegantne
optimalizovat i cast nasledujiciho programu. Podrobnosti o teto uprave lze najit v
originalni doprovodne dokumentaci.
Program TPPATCH.EXE (rozbalena verze, cely archiv je
na konci tohoto clanku) testuje, zda je mozno korektne "ozaplatovat" pozadovany
soubor, tak aby vysledkem nebyla "smrtici zaplata". Oprava je automaticka, a je
otestovana s prekladaci TP7/BP7, test s TP6 autor neprovadel, nicmene je mozne i tyto
programy takto "zaplatovat". TPPATCH je mozno pustit i pomoci davky na vsechny
spustitelne soubory na disku. Program si sam vybere potrebne soubory na
"ozaplatovani".
Pokud pouzivate kompresi .EXE souboru (napr. pomoci PKLite), je nutno je pred
"zaplatovanim" rozbalit, napr. pomoci UNP (unp411.zip,
nebo ftp://garbo.uwasa.fi/pc/execomp/unp411.zip).
Pouziti tohoto programu neni nikym garantovano a autor neruci za skody zpusobene jeho
funkci. Nezapomente, ze pokud "zaplatujete" cizi software, jste vazani licenci
(uvadenou napr. v souborech LICENCE.DOC).
tp-patch.zip |
originalni archiv TPPATCH.EXE s nemeckou a anglickou dokumentaci a s
popisem zaplaty |
bp7patc1.zip |
patch upravujici knihovnu TURBO.TPL BP v7.0 |
bppatch.zip |
dalsi patch opravujici knihovny TURBO. Obsahuje upraveny zdrojovy text
knihovny CRT. |
|