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 такта.





Ответить с цитированием