Просмотр полной версии : Переделать клавиатуру AT >> XT
Как переделать АТ(или PS/2) клавиатуру в XT для АТМ Турбо 2(v6.40)
Хм, если не ошибаюсь, то в клавиатуры до не давнего времени ставили что-то 8042 подобное. Так вот интересно под этот контроллер XT прошивка клавиатыры можно найти, или проще самому написать. То что придется перепаивать контроллер понятно, он одноразовый, зато можно еще переключатель поставить, как на древних клавах XT<->AT.
Проще в контроллер клавиатуры перезалить прошивку, работающую с PS/2 клавиатурой.
Для версии 6.xx это невозможно. Сам в свое время нажегся.
Самый реальный вариант - поискать по загашникам старые клавиатуры (примерно 89-92 года) с переключателем XT/AT. Иногда переключателя нет, но есть перемычка на плате. Найти такую клавиатуру не так сложно, как кажется на первый взгляд. Но вообще, рекомендую использовать стандартную спектрумовскую клавиатуру или внешний контроллер AT клавы. Обработка XT клавиатуры в ATM-Turbo2 v6.xx осуществляется процессором через NMI, и в некоторых программах клавиатура работать не будет, другие программы будут притормаживать, а часть вообще не запустится.
daddy karlo
20.07.2020, 21:51
актуальная тема. ничего не понятно. где взять внешний контроллер at клавы, чтобы воткнуть его в xt разъём 2 атмки?
гдето я видел как предлогают pic контроллер сунуть в клаву, и кодировать в xt. рабочих схем не предлагают )
можно переделать саму атмку, но без программатора, это капец как нереально.
https://github.com/kesrut/pcxtkbd/
вот ардуино , рабочая схема.
https://www.youtube.com/watch?v=HJOUtIbPJsg
http://www.kbdbabel.org/
а вот барыги
https://www.phantom.sannata.org/viewtopic.php?f=12&t=3890&sid=7c99efe880694a6e398a9711a53a4530&start=11
трёп и ссылки. фигня.
http://tech.mattmillman.com/building-an-at2xtkb-at-to-xt-keyboard-adapter-on-prototype-board/
а вот и схема и прошивка
http://tech.mattmillman.com/building-an-at2xtkb-at-to-xt-keyboard-adapter-on-prototype-board/
а вот и схема и прошивка
Кроме картинки тут ничего нет, а ссылка на исходный проект протухла/не открывается... А было бы интересно посмотреть. Может есть еще где сохраненная инфо?
CodeMaster
20.07.2020, 23:04
Может есть еще где сохраненная инфо?
Традиционно она здесь (http://www.vcfed.org/forum/showthread.php?26426-AT2XT-keyboard-converter), но аттачи не скачать :-(
Традиционно она здесь (http://www.vcfed.org/forum/showthread.php?26426-AT2XT-keyboard-converter), но аттачи не скачать :-(
Да, адрес на исходный проект, но он и не открывается у меня, я ж и написал
протухла/не открывается
CodeMaster
20.07.2020, 23:37
протухла/не открывается
Это когда:
Время ожидания ответа от сервера www.vcfed.org истекло.
Но, сути это да, не меняет. Хотя, это урок форумодельцам, что не надо ссылки на аттачи закрывать логином, надо сеять доброе, вечное, хотя бы занедолго до смерти форума.
У меня вроде как все на vcfed открывается и качается поле того как там зашел под собой. Что именно нужно там выкачать? Я перекину на ЯД.
Прошивка ПИКа, схема, чтобы ее не восстанавливать по картинке, а если еще и исходники прошивки будут, то вообще красота!
CodeMaster
21.07.2020, 08:49
vcfed открывается
Точняк, через прокси работает. Это антироссийские санкции от пиндосских буржуев.
Serg6845
21.07.2020, 09:38
Прошивка ПИКа, схема, чтобы ее не восстанавливать по картинке, а если еще и исходники прошивки будут, то вообще красота!
прошивка - http://tech.mattmillman.com/wp-content/files/XTATKEY_675.HEX (будет работать и с 12F629)
схема - http://www.waste.org/~winkles/AT2XTKBD-sch.pdf
а от исходников я бы тоже не отказался ;)
Anubis_OD
21.07.2020, 10:31
Я делал вот такой контроллер
https://github.com/cr1901/AT2XT
Работает идеально.
Вот про него тема на VCFED
http://www.vcfed.org/forum/showthread.php?26426-AT2XT-keyboard-converter&highlight=AT2XT
- - - Добавлено - - -
А вообще уже не раз обсуждалось это тут
Поиск рулит
Вот:
https://zx-pk.ru/threads/26636-poisk-2-podgotovka-k-sborke-platy-voprosy.html?p=874588&viewfull=1#post874588
Serg6845
21.07.2020, 11:58
Я делал вот такой контроллер
https://github.com/cr1901/AT2XT
Работает идеально.
Вот про него тема на VCFED
http://www.vcfed.org/forum/showthread.php?26426-AT2XT-keyboard-converter&highlight=AT2XT
- - - Добавлено - - -
А вообще уже не раз обсуждалось это тут
Поиск рулит
Вот:
https://zx-pk.ru/threads/26636-poisk-2-podgotovka-k-sborke-platy-voprosy.html?p=874588&viewfull=1#post874588
схема мягко говоря не соответствует исходникам. схема на PIC12F629, а исходники и плата на гитхабе - на MSP430...
Anubis_OD
21.07.2020, 13:36
Я не компилировал. Взял готовые HEX файлы.
Вроде ничего не пропустил: https://www.dropbox.com/s/5geyt7cv6v5vroe/XTATKEY.zip?dl=0
UncleDim
17.09.2023, 22:01
Обработка XT клавиатуры в ATM-Turbo2 v6.xx осуществляется процессором через NMI, и в некоторых программах клавиатура работать не будет, другие программы будут притормаживать, а часть вообще не запустится.
Просьба к общественности накидать примеров подобных "упрямых" программ (занимаюсь сейчас подобным контроллером, спустя 30 лет после его появления в железе))
Максагор
12.10.2023, 19:26
Просьба к общественности накидать примеров подобных "упрямых" программ (занимаюсь сейчас подобным контроллером, спустя 30 лет после его появления в железе))
К сожалению, лично я таких не знаю, так как практически не работал с АТМками версий 6.хх (в руках держал, запускал, но очень давно, в 00х, и очень короткое время).
Но если будут какие-то подвижки изучения работы, то был бы благодарен за подробную информацию о работе с целью как минимум, повторения в эмуляторе.
UncleDim
13.10.2023, 08:20
в руках жержал, запускал, но очень давно, в 00х,
Я с 6.хх так и не пересекся (в 00х собирал, запускал только атм-1(4.50) и -хт), так что изучение работы сейчас возможно чисто теоретически, по схемам..
с целью куак минимум, повторения в эмуляторе.
Ээээ.. Железка "с подобным контроллером" не атм), это профик v6, который не увидел серийного производства и которых (уже только в начале 10х) было собрано.. пальцев одной руки пожалуй хватит)
Схема контроллера близка к атм (собсно с чего бы ей кардинально отличаться, если принцип работы один: скан-код->mni), но со своими забавными "фенечками" (например: если в программе разрешены 50Гц прерывания - nmi от клавиш влезет ровно после /inta и перед обработчиком, что по идее должно "в среднем" уменьшить влияние nmi на стек - но тому же exolon-у это, ессно, не помогает, прям на глазах экран начинает корежить после нескольких нажатий, пару-тройку экранов удается пройти перед окончательным падением)
Проблему переделки АТ-ХТ решать, кстати, не стал (всё равно с нуля надо было писать поддержку - так зачем хт вообще)), просто добавил в схему пару триггеров на клавиатурный клок/данные, дабы код от ат-клавиш приходил в сдвиговый регистр как положено.
Максагор
17.10.2023, 18:30
но со своими забавными "фенечками" (например: если в программе разрешены 50Гц прерывания - nmi от клавиш влезет ровно после /inta и перед обработчиком, что по идее должно "в среднем" уменьшить влияние nmi на стек - но тому же exolon-у это, ессно, не помогает, прям на глазах экран начинает корежить после нескольких нажатий, пару-тройку экранов удается пройти перед окончательным падением)
Да уж, я представляю, как корёжило бы дёмки во время обновления экрана через PUSH/POP....
UncleDim
17.10.2023, 18:36
Теоретически излечимо, полной подменой карты памяти на время nmi
(а в демках клавиши можно и не трогать))
AlexCrush
19.10.2023, 15:06
Теоретически излечимо, полной подменой карты памяти на время nmi
Тут возникает проблема детекта момента, когда Z80 прореагировал на NMI и начал выполнять обработчик. Проблема не так проста, как кажется.
Если подменять просто по низкому уровню сигнала NMI - то текущая исполняющаяся команда будет писать/читать не ту память.
Выходит надо дожидаться окончания этой команды, и только потом подменять. Но как это понять?
UncleDim
19.10.2023, 15:11
(стёр)
надо однозначно выделить подтверждение nmi (выглядит как чтение из памяти), т.е. по идее достаточно будет простробировать nmi например чтением порта (любого) - юзер со своими нажатиями вряд ли заметит какую-либо задержку -тогда, после появления nmi, первая же запись в память после чтения из памяти должна будет отправляться уже в новую раскладку памяти (если не путаю, нигде в командах после iord не наступает memrd).
AlexCrush
20.10.2023, 13:51
(стёр)
надо однозначно выделить подтверждение nmi (выглядит как чтение из памяти), т.е. по идее достаточно будет простробировать nmi например чтением порта (любого) - юзер со своими нажатиями вряд ли заметит какую-либо задержку -тогда, после появления nmi, первая же запись в память после чтения из памяти должна будет отправляться уже в новую раскладку памяти (если не путаю, нигде в командах после iord не наступает memrd).
Иными словами - когда нужно сделать NMI:
1. ждём IORQ=0 (при M1=1, чтобы не спутать чтение порта с подтверждением INT)
2. Выставляем NMI=0 на 1 такт
3. Ждём MREQ=0 - как дождались - подменяем память на запись
В целом должно сработать, кажется.
Не подойдет для приложений, где нет чтения из портов, но в случае с клавиатурой это не проблема
UncleDim
20.10.2023, 14:02
3. Mreq+Rd
(1. M1 можно и игнорить, не помешает)
AlexCrush
20.10.2023, 16:40
В принципе да, не помешает.
UncleDim
20.10.2023, 18:26
(как-то все проще было сделано у меня в профике, полез в бессменный um0080)
Действительно. Цикл подтверждения nmi - он ещё и м1)
AlexCrush
20.10.2023, 21:28
Действительно. Цикл подтверждения nmi - он ещё и м1)
Чем это помогает?
UncleDim
20.10.2023, 21:34
сигналом м1 "ровняем" приход nmi и им же (следующим) переключаем раскладку (хотя не, можем сразу после префикса попасть. ну да ладно, все равно при наличии м1 будет проще)
вот с обратным переходом нужен отдельный механизм
Очень простой и относительно недорогой способ переделки любой АТ клавиатуры в XT https://phantom.sannata.org/viewtopic.php?p=785272#p785272
Дополнительный чип устанавливается прямо в клавиатуру, между шнуром и платой.
https://pic.maxiol.com/images2/1719768918.3582613444.at2xt.jpg
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot