| e-mail Debatní kniha Mapa stránek Hlavní |
Možná jste se s tím už setkali, možná ne. Každopádně vězte, že v Borland pascalu 7.00 a 7.01 je chyba, která způsobuje vyjímku dělení nulou, následkem čehož se program ukončí s příslušně energickou chybovou hláškou. Tato chyba se projeví okamžitě po startu programu na počítači s procesory Pentium Pro 200 a rychlejšími. Problém je v inicializační čísti unitu CRT, kdy detekuje rychlost počítače, aby vypočítal konstantu, která se pak použije v proceduře Delay. Moderní procesory jsou tak rychlé, že se ani nezvýší jakýsi interní čítač a zůstane na nule. Následující operace dělení způsobí právě error 200. Co s tím? Stáhněte si následující patch. Mimo jiné se vybalí soubory TURBO.TPL a TPP.TPL. Ty překopírujte do podadresáře .\BIN ve vašem adresáři s pascalem.
Na výzvu, zda stávající soubory přepsat, odpovězte "jo" a voalá, všechny programy co od této
chvíle vytvoříte, už budou P200 ready. Ale co s už existujícími aplikacemi jako je třeba M602 a spousta
dalších? V archívu je také soubor TPPATCH.EXE a PATCHCRT.EXE. Oba programy fungují stejně - jsou to utility, které opraví problematický kód uvnitř již zkompilovaných EXE souborů.
Jde tedy svým způsobem o velmi jednoduché cracknutí pro dobročinné účely :-)V archívu je přibalen i opravený zdroják jednotky CRT, kterou si můžete vlastnoručně překompilovat. Nakonec znovu připomínám, že problémy kolem chyby 200 se týkají jenom Borland pascalu 7.0x, starších se tento článek netýká. |