KTSerg,
у меня совпадает с твоими данными за исключением 1 и 5 режимов. В 1 и 5 у меня FFFF всегда, ибо в доках сказано что счет начинается только когда GATE переходит из состояния 0 в 1. Других данных у меня нет. Я даже не знаю что можно сделать.

А ты можешь еще исследовать 1 и 5? Например, замени в tst8253 режим на 1 или 5. Посмотри какие значения будут считываться.

Тут бы b2m помог. У него в EMU тесты как на реальном железе показывают.
Но он пока молчит...

- - - Добавлено - - -

о! наткнулся на тему про ви53.
там svofski пишет:
"Еще интересный момент, который не выкопаешь ни в какой доке. После первого теста в режиме "0" счетчик продолжает считать. Дальше тест программирует его на режим "1" и загружает в него значение $FFFF. Но, поскольку сигнал GATE в Векторе всегда "1", это число не переписывается во внутренний счетчик и счет продолжается как будто бы записи не было. Самое занятное в том, что операция установки режима в "1" все же останавливает счетчик, а загрузка значения, которое в него так никогда и не попадает, продолжает счет. "

Вот, это похоже на правду

- - - Добавлено - - -

Получается, что если Gate=1 то при переключении режима на 1, останавливает счет, а занесение любого значения в счетчик продолжает счет со старого значения. Типа, бага..
В доках, кстати, диаграммы рисуют варианты запуска режима 1(и 5) когда GATE=0 вначале, а потом переходит в 1.

- - - Добавлено - - -

в общем, сэмулировал я этот глюк.
Но вместо A10B у меня A109. И в десятичном тесте тоже на 2 меньше.
Где-то я не задерживаю достаточно.
Попробую отыскать эти 2 такта.