Arkanoid, n_sonic, что-нибудь получается?
Arkanoid, n_sonic, что-нибудь получается?
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Контроллеры только получил. На днях дособираю и попробую, обязательно отпишусь в теме. Домашние заботы съедают время, сори...
Не можешь поступить разумно - поступай правильно!
Подключил к Корвету. Работает, но как-то интересно. После включения сыплет символом @, пока не сбросишь Мегу, потом вроде всё работает, но "вниз" в некоторых играх (KLAD, PACMAN) не срабатывает, хотя по меню перемещается. В других работает всё, включая "вниз".
Пентагон-128 (1993) - восстановлен, родом из детства + ZXKit1 VGA & PAL
Дельта-С (128, БМК) - заэкспериментированный, ОЗУ от СИММов, VGA & PAL, БДИ (в проекте)...
Одноплатный Speccy2007 (128К+TR-DOS+YM+ZXKit1 VGA & PAL)
Одноплатный Speccy2007 (128К+TR-DOS+YM+CXA1645M+ZXKit1 VGA & PAL)
elker (17.06.2021)
ОК, но с @ проблема. Плюс нет клавиш : ;, - _ . / [ \ ]^
Коды для MT8816 82-87, 51-55 и, возможно, каких-то ещё.
Вот мой вариант матрицы с добавленными символами.
Код:uint8_t table[1028] = { 127,127,127,44, 42, 40, 41, 127,127,127, 127,127,43, 102,54,127,127,127,112,127, 117,33, 65, 127,127,127,50, 35, 1, 39, 66, 127,127,3, 48, 4, 5, 68, 67, 127, 127,103,38, 6, 36, 34, 69, 127,127,22, 2, 16, 7, 49, 70, 127,127,127,21, 18, 37, 71, 80, 127,127,84,19, 17, 23, 64, 81, 127,127,86, 87 ,20, 83,32, 55,127, 127,127,82,127,51, 127, 127,127,127,119, 96, 53, 127,52,127,127,127,127,127,127, 127,127,101,127,127,9, 127,12, 15, 127, 127,127,8, 22, 10, 13, 14, 24, 115,127, 127,127,11, 85,127,25, 127,127};
Пентагон-128 (1993) - восстановлен, родом из детства + ZXKit1 VGA & PAL
Дельта-С (128, БМК) - заэкспериментированный, ОЗУ от СИММов, VGA & PAL, БДИ (в проекте)...
Одноплатный Speccy2007 (128К+TR-DOS+YM+ZXKit1 VGA & PAL)
Одноплатный Speccy2007 (128К+TR-DOS+YM+CXA1645M+ZXKit1 VGA & PAL)
elker, попробую на днях достать свой корвет и проверить прошивку. Впрочем, может быть надо фьюзами поиграть с задержкой запуска?
elker, до Корвета я так и не добрался, но с контроллером поэкспериментировал. Похожую проблему удалось воссоздать при недостаточной блокировочной емкости по питанию. На плате, где были установлены керамические конденсаторы по 10мкФ и электролит 220мкФ сбой воспроизвести не удалось. На всякий случай можно добавить клавишу для сброса матрицы. Ее можно использовать, если вдруг какой-то из ключей "залип".
Этот код нужно вставить первым в оператор switch. Он привязывает функцию сброса матрицы к клавише Scroll Lock.Код:case 0x7E: //если считался код 0x7E digitalWrite(CSMT, HIGH); //выбор чипа digitalWrite(RSTMT, HIGH); digitalWrite(RSTMT, LOW); //сброс digitalWrite(CSMT, LOW); break;
Настало время пояснить за принцип формирования массива.
Индекс массива соответствует скан коду клавиатуры. Элементы массива кодируют контакты матрицы. Как именно происходит кодирование, видно из этого участка кода:
Матрица имеет размерность 16 столбцов и 8 строк. 4 бита AX0...AX3 кодируют столбцы, 3 бита AY0..AY2 кодируют строки. AX0 - самый младший бит, AY2 - самый старший.Код:void SetAddr(uint8_t addr) { digitalWrite(AX0,bitRead(addr,0)); digitalWrite(AX1,bitRead(addr,1)); digitalWrite(AX2,bitRead(addr,2)); digitalWrite(AX3,bitRead(addr,3)); digitalWrite(AY0,bitRead(addr,4)); digitalWrite(AY1,bitRead(addr,5)); digitalWrite(AY2,bitRead(addr,6)); }
Для удобства я применяю такую заготовку: Заготовка.txt
Для модификации лучше всего подходят прошивки для Спека 48 и Корвета - они самые простые. В прошивку Спек - 128 добавлены сочетания клавиш - при этом замыкаются несколько контактов матрицы сразу и логика работы немного усложнилась.
Последний раз редактировалось Xrust; 23.06.2021 в 00:00.
surinm (23.06.2021)
Доработал матрицу в прошивке для корвета с аутентичной раскладкой (JCUKEN) и переопределил в ней пины, чтобы можно было относительно просто обжать шлейф для подключения корвета:
Всю информацию для изготовления контроллера для корвета собрал в первом посту темы https://zx-pk.ru/threads/29197-kontr...laviatury.html
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)