Być może na szybszych (nowszych) procesorach nie zawsze wykonanie tego samego rozkazu trwa tyle samo czasu.. Albo dostęp do portu równoległego na nich nie jest w czasie rzeczywistym, nawet pod czystym dosem.
Jest jeszcze jedna możliwość - pamiętam za dawnych szkolnych czasów (kiedy to pisało się programy w Turbo Pascalu), że działały one jedynie właśnie do procesorów 233 MHz, na szyszych występował błąd dzielenia przez zero. Problemem było to, że każdy taki program na początku wyliczał sobie (zliczając coś) ile zajmuje mu obrót jakiejś tam pętli - potrzebne to było do ustalenia prędkości procesora. Niestety na szybszych procesorach licznik się przękręcał.
Może w tym też tkwi problem - kluczowa dla tego programu kwestia, jaką jest zliczanie odstępów nie działa prawidłowo.
Chociaż jak patrzę na date wydania tych programów (mtap/ptap) - 2002, to są to lata, gdy na rynku królowały procesory > 1GHz. Mała szansa, że autor używał do testów wiekowego procka.
Mimo wszystko - ten kabelek jest naprawdę niepraktyczny - raz za sprawą konieczności używania czystego DOSa, dwa że wymaga portu równoległego (co jest dziś rzadkością), a trzy - potrzebuje zewnętrznego zasilania.
Myśle, że należałoby ten dobry projekt jednak skierować na inne tory - aby wykorzystywał USB + mikrokontroler. Mikrokontroler rozwiązuje pierwszy problem (zliczałby bardzo dokładnie odstępy czasowe między impulsami i pełniłby też rolę bufora, gdyż USB nie jest protokołem czasu rzeczywistego), natomiast USB - załatwiłby pozostałe dwie sprawy.