С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Верно. Тогда 7 тактов и сокращение гарантированной частоты Ориона до примерно 3,5М (5М турбо с WAIT как раз как на наших платах для корпуса УКНЦ)
Получится что-то такого вида:
К счастью, это достаточно неудобно (хотя и быстро) и на Орионе так никто не писал (обычно там тупые STA/LDA по 13 ? тактов). Так что, думаю всё должно получиться и на бOльших частотах.Код:ld hl,0F401h ; ld de,0F402h ; ld a,scancode ; 8 bits ld (0F400h),a ; 13 tstates ld b,(hl) ; 7 tstates ld a,(de) ; BA[15..5]=resulting inkey bits
Последний раз редактировалось Error404; 20.04.2018 в 12:40.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Да как бы всё равно в нашем случае - главное, что больше 1 операции выполняется. Остальное уже "мелочи"
Но да - оптимизация никогда не бывает лишней
"Байт-48"
Вчера повтыкал на разные схемы контроллеров PS/2 для Ориона, Специалиста, спеков, ну и конечно внимательно посмотрел на схему мультиплексоров клавиатуры Корвета. Вопрос - а зачем выводить на контроллер A8 и /CSKB, если нужно всего лишь обеспечить своевременное "замыкание" пар бита адреса и нужного бита ШД? Т.е. достаточно отлавливать сигнал на ША и сразу давать его на ШД. Где я не прав?
- - - Добавлено - - -
Т.е. мультиплексор в самом корвете уже есть, он как раз и управляется сигналами A8 и /CSKB. И все 16 линий данных аппаратно идут на клавиатуру - сама клавиатура все-лишь замыкатель, т.е. не содержит логики.
Ты прав, но для этого контроллер должен иметь такую функцию - чувствительность к изменению состояния на портах ввода/вывода.
Например ATMega8 (dip28) и ATMega16 (dip40) не имеют такую функцию, а программно они не смогут вовремя реагировать на опрос клавиатуры.
Если использовать ATMega48 или ATMega164 можно спокойно заниматься опросом клавиатуры и формированием массива нажатых клавиш,
но как-только произойдет изменение на шине адреса сканирования, произойдет прерывание работы основной программы, и на шине данных
будет выдан код соответствующий нажатой клавише. Поэтому в этом случае можно обойтись и без сигналов A8 и /CSKB.
Еще глубже копнул - у корвета инвертированы ША и ШД для клавиатуры (ШД вообще подтянута резисторами к +5В). В силу этих обстоятельств наиболее подходящей основой для модификации должна быть прошивка для Ямахи КУВТ?
caro, поделишься исходниками к этой прошивки?
Прошивка для YAMAHA YIS-503 на моем сайте http://caro.su выложена с исходником.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)