в чем отличие WAITовой и безWAITовой клавиатуре.
в чем отличие WAITовой и безWAITовой клавиатуре.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Ну вообще WITE это ожидание. Я конечно не супер спектрумист, но понял так, что безвайтовая клавиатура будет как минимум меньше тормозить проц. Может и ошибаюсь.
WAIT нога проца . Низкий уровень на оной даёт отмашку процу бросить дела и тупо ждать . Контроллер тормозит проц чтоб успеть подготовить данные которые проц собирается прочесть с порта .
Безвэйтовый контроллер просто успевает всё сделать и не тормозит проц .
Спек128 - испанская выдумка, навязанная Сэру Клайву. © Shaos
REAL HARDWARE MUST LIVE ! - http://SBLive.narod.ru/ZX-Spectrum/
Ну значит я всё правильно понял, контроллер принудительно переводит проц в режим ожидания. А в безвайтовой клавиатуре всё успевается сделаться быстро, что не требуется переводить проц в режим ожидания.
Но в общем случае, конкретно по клавиатуре для пользователя разница только в подключении - не требуется переделывать цепи WAIT-сигнала. А то что проц затормаживается на доли процента в случае нажатия на клавишу, то это можно не принимать во внимание.Сообщение от sevol
не скажи
видел бы ты как здорово настраивать мультиколор на скорпе с такой клавой,
если опрос портов делать на верхнем бордюре
С уважением,
Jerri / Red Triangle.
а напомните, что был за прикол с постоянным опросом ваитовой клавы?
вот это наглухо вешало скорпионовский контроллер PC клавыloop
xor a
in a,(#fE)
cpl
and #1f
jr z,loop
а если сделать так
то все ОКloop
djnz $
xor a
in a,(#fE)
cpl
and #1f
jr z,loop
кстати в ACTION FORCE 1 невозможно было изза этого нормально поиграть с клавиатуры
С уважением,
Jerri / Red Triangle.
во-во! я ж помню, что где-то был косяк, но здравый смысл был уверен, что цикл из 3-4 команд не должен вешать намертво...
Косяк в том, что при таком коротком цикле опроса, контроллеру просто нет времени заниматься
ещё чем нибудь, кроме отработки прерывания по запросу порта клавиатуры со стороны Спектрума.
И дело в данном случае не в большой длительности /WAIT,
а в большом времени выхода контроллера из процедуры прерывания после снятия /WAIT.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)