Цитата:
Сижу я значит, весьма много лет назад, клепаю на дорогой и любимой БК-шке то-то. И писал я программу для работы с клавиатурой. Проверяю разряд 6 в регистре 177716, там единичка, то есть клавиша нажата. Иду брать код в @#177662, и обламываюсь - там какая-то фигня! Проверяю @#177660 - и правда, бит, который говорит о готовности кода с клавиатуры, не установлен! И только после примерно 50-70 циклов SOB он таки появляется.
В общем, оказывается, что между нажатием клавиши (о чём тут же докладает бит в регистре 177716) и появлением готового кода проходит некоторое время, причём разное для разных экземпляров БКшек, но в пределах одного экземпляра - более-менее стабильное. Сначала об этой находке сделал анонс (Дuck Tales #4) - а потом подумал-подумал, и решил (Дuck Tales #7) не раскрывать детали - чтобы любители делать защиты не приняли это на вооружение.
Как я понимаю, величина задержки определялась конкретными экземплярами D4, R4, C3 и D2 (см. схему), установленными в конкретной машине.
P.S. Честно говоря, поскольку прошло уже 30 лет, не помню, какой из битов взводился первым - бит готовности кода, или бит нажатой клавиши - но факт в том, что между одним и другим проходило некоторое относительно стабильное время, которое можно было засечь).