User Tag List

Страница 14 из 31 ПерваяПервая ... 101112131415161718 ... ПоследняяПоследняя
Показано с 131 по 140 из 303

Тема: Орион-128: Контроллер PS/2-клавиатуры

  1. #131

    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сел немного прибрать программу. И продумал...

    Может быть добавить в программу функцию настройки привязки клавиш?

    Нажимаем какую либо клавишу, затем не отпуская её жмем BREAK и клавиатура переключается в режим настройки. А там вводим код клавиши РК к которой мы хотим привязать этот код и жмем Enter.

    Например, я хочу привязать клавишу F12 к комбинации 4 строка + 4 столбец. Код клавиши = строка*8 + столбец + 64 = 4+4*8+64 = 100. Я нажимаю: F12, BREAK, 1, 0, 0, F12, CTRL+SCROLLLOCK.

    Настроенная раскладка будет храниться в энергонезависимой памяти атмеги (EEPROM 512 байт).
    Последний раз редактировалось vinxru; 01.04.2012 в 23:27.

  2. #132

    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Выложил 2-ую версию прошивки с исходниками для ATMega16 и свою печатную плату.

    Эта прошивка может изменять привязку клавиш РС к 86РК во время работы. Для этого надо нажать на нужную кнопку (или повернуть ручку джойстика) и нажать BREAK. Светодиоды должны последовательно мигнуть. Затем набираете цифрами код клавиши РК86 и нажимаете ENTER. То есть, можно по ходу работы привязывать джойстик к любым клавишам.

    При нажатии на кнопку одновременно привязанную к нескольким клавишам Ориона (например SHIFT+; ), нажатие кнопки задерживается на 20 мкс относительно шифта.

    Данные хранятся в EEPROM. При первом запуске контроллера необходимо инициализировать EEPROM. Как это сделать написано в файле в архиве.

    Прошивка будет поддерживать микроконтроллеры ATMega16, ATMega8, ATMega48 и т.д. Но пока работает только ATMega16. Есть еще небольшие косяки, но уже работать можно С меня еще таблица кодов клавиш РК86. И в этой программе http://tmaplatform.ru/vinx_home_page/86rk2.html я добавлю настройку джойстика.
    Вложения Вложения
    Последний раз редактировалось vinxru; 03.04.2012 в 13:04.

  3. #133

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от vinxru Посмотреть сообщение
    Прошивка будет поддерживать микроконтроллеры ATMega16, ATMega8, ATMega48 и т.д.
    А может быть, для Мега8 просто не использовать джойстик? Немногим он нужен ИМХО. А ноги освободятся.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  4. #134

    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    А может быть, для Мега8 просто не использовать джойстик? Немногим он нужен ИМХО. А ноги освободятся.
    А там и так джойстика нет.

    У ATMega8 22 ноги.

    19 ног занимает клавиатура РК86
    1 ногу занимает сигнал WR
    2 ноги занимает PS/2 клавиатура.

    Если пожертвовать ножкой сброса (то есть лишиться возможности перепрошивки), то освободившуюся ногу можно использовать под сброс или вход светодиода РУС/ЛАТ.

    ---

    У ATMega16 аж 32 ноги.

    19 ног занимает клавиатура РК86
    1 ногу занимает сигнал WR
    2 ноги занимает вход светодиодоа
    1 ногу занимает сигнал сброса
    2 ноги занимает PS/2 клавиатура.
    5 ног занимает джойстик.

    И еще 2 ножки свободно.

    ---

    У микроконтроллера ATMega48 то же 22 ноги. Но ему не нужен сигнал WR, то есть одна дополнительная нога.

    19 ног занимает клавиатура РК86
    2 ноги занимает PS/2 клавиатура.
    1 ногу занимает сигнал сброса

    Если пожертвовать ножкой сброса, то можно подключить вход светодиода РУС/ЛАТ.

  5. #135

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от vinxru Посмотреть сообщение
    Если пожертвовать ножкой сброса (то есть лишиться возможности перепрошивки), то освободившуюся ногу можно использовать под сброс или вход светодиода РУС/ЛАТ.
    не надо, лесом его (светодиод).
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  6. #136

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    не надо, лесом его (светодиод).
    +1
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  7. #136
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #137

    Регистрация
    12.12.2011
    Адрес
    г. Иркутск
    Сообщений
    2,509
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    не надо, лесом его (светодиод).
    Мне кажется, что смена уровня на светодиоде Рус/Лат указывает, что п/п опроса клавиатуры переключилась в другой регистр.А это наверное нужно?

  9. #138

    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladimir_S Посмотреть сообщение
    Мне кажется, что смена уровня на светодиоде Рус/Лат указывает, что п/п опроса клавиатуры переключилась в другой регистр.А это наверное нужно?
    Ага. Есть такой режим, когда зажигается светодиод, автоматически включается русская раскладка.

    Но русскую раскладку можно включить и клавишей SCROLL LOCK.

  10. #139

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladimir_S Посмотреть сообщение
    Мне кажется, что смена уровня на светодиоде Рус/Лат указывает, что п/п опроса клавиатуры переключилась в другой регистр.А это наверное нужно?
    Если бы софт соблюдал все правила... Обычно это не делается, проку от такой аппаратной фичи почти не будет
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  11. #140

    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Выложил 2-ую версию прошивки с исходниками.

    Уже можно нормально работать. Есть небольшой косяк с сохранением состояния клавиши Scroll Lock в энергонезависимой памяти. Но он не мешает жить.

    Вставил быстрый обработчик прерывания. Я не стал вставлять этот обработчик прямо в таблицу прерываний (по адресу 2). Так как это пришлось бы делать каждый раз руками в HEX-файле. То что сделал я - это лишняя команда JMP, которая чуть-чуть увеличивает время реакции микросхемы. Но запас времени там большой.

    Народ хочет ATMega8 ? Я на этой неделе сделаю отладочную плату для ATMega8 и проверю прошивку на ней. (Мне эта плата все равно нужна, что бы делать эмулятор FDD для БК0010)
    Последний раз редактировалось vinxru; 01.04.2012 в 23:11.

Страница 14 из 31 ПерваяПервая ... 101112131415161718 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 34
    Последнее: 24.11.2022, 16:05
  2. Ответов: 146
    Последнее: 31.05.2020, 19:00
  3. БезWaitовый контроллер клавиатуры
    от caro в разделе Устройства ввода
    Ответов: 68
    Последнее: 01.07.2015, 05:42
  4. Куплю контроллер клавиатуры
    от AAA в разделе Барахолка (архив)
    Ответов: 121
    Последнее: 01.02.2008, 18:33
  5. Контроллер клавиатуры для Скорпиона
    от Nikolaj Amosov (500:812/02.26) в разделе Scorpion
    Ответов: 1
    Последнее: 15.11.2005, 23:05

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •