Просмотр полной версии : Контроллер клавиатуры для "Пентагон-128" на ATMega8/48/88/168/328
Помогите разобраться с сигналами, подключения по схеме кая, контроллер клавиатуры на Мега48 от кая для пентагона.
Куда подать сигналы со знаком? В пентагоне по схеме я их не нашел.
Сигналы беру из разъема клавиатуры
Пентагон / Кай / Ленинград -2
KA0/KA8/A8
KA1/KA9/A9
KA2/KA10/A10
KA3/KA11/A11
KA4/KA12/A12
KA5/KA13/A13
KA6/KA14/A14
KA7/KA15/A15
KD0/KD0/KL0
KD1/KD1/KL1
KD2/KD2/KL2
KD3/KD3/KL3
KD4/KD4/KL4
Сигналы беру частично от ног процессора
?/Турбо
Magic/Magic/ R1
Wait/Wait/ DD22 6 Н.
A0/A0 / никуда не подключил, сигнал на плате контроллера висит на GND
M1/M1/ 27 Н CPU
?/IORD1/11нDD19
http://photo.qip.ru/photo/zorel/4096138/large/98388015.jpg (http://photo.qip.ru/users/zorel/4096138/98388015/)
Фузы
http://photo.qip.ru/photo/zorel/4030463/large/96414781.jpg (http://photo.qip.ru/users/zorel/4030463/96414781/)
Для установки в пентагон, разъем J1 должен припаиваться с обратной стороны платы, разъем можно ставить как угловой, так и прямой.
Контроллер предназначен для расширения возможностей компьютера - "пентагон 128" и остальных совместимых с zx spectrum компьютером.
Можно установить 2-х рядные штырьки или Разъем PBD-34 (2х17(м) для пайки на плату).
прошивка для контроллера (http://zx.pk.ru/showpost.php?p=518612&postcount=1180)
Схема на контроллер, спасибо Mor-Da за схему. http://zx-pk.ru/showpost.php?p=817865&postcount=116
?/ТурбоИгнорируем, если Пентагон не турбированный.
A0/A0
?/IORD1На оба входа подаем сигнал с вывода 3 микросхемы DD49.1(ЛА3) - это сигнал чтения порта клавиатуры.
Остальные сигналы вроде правильно.
zorel, заработал ли контроллер на п128? У меня что-то не хочет, тестирование клавы проходит, моргает индикаторами, потом спек отмирает, на клаве загораются NumLock и ScrollLock, а на контроллере индикатор горит WAIT. При нажатии на одноименные кнопки - индикация меняется, но тем не менее спек на клаву не реагирует, ни ресет ни чего не срабатывает. Пробовал несколько клав - действие одинаково.
Контроллер на ATMega168V-10PU с кварцем на 24МГц, мож в этом проблема, но видно, что МК с клавой взаимодействует.
zorel, заработал ли контроллер на п128? У меня что-то не хочет, тестирование клавы проходит, моргает индикаторами, потом спек отмирает, на клаве загораются NumLock и ScrollLock, а на контроллере индикатор горит WAIT. При нажатии на одноименные кнопки - индикация меняется, но тем не менее спек на клаву не реагирует, ни ресет ни чего не срабатывает. Пробовал несколько клав - действие одинаково.
Контроллер на ATMega168V-10PU с кварцем на 24МГц, мож в этом проблема, но видно, что МК с клавой взаимодействует.Надеюсь прошивку зашивали под ATMega168?
Прошивки для ATMega48/88 и ATMega168/328 отличаются.
caro, прошивал kbd10_168.hex
caro, прошивал kbd10_168.hexИ ФУЗЕсы правильно выставил надеюсь?
Тогда похоже что-то в цепи формирования сигнала /WAIT (не висит ли на нем постоянный 0)?
Диод правильно впаян, анодом ко входу /WAIT компьютера?
Подтяжку сигнала /WAIT надо поставить от 2 до 3 КОм.
И ФУЗЕсы правильно выставил надеюсь?
см.приложеные файлы, по мануалу делал, но несколько фузов BOOTRST, BOOTSZ0, BOOTSZ1 остались по дефолту.
Тогда похоже что-то в цепи формирования сигнала /WAIT (не висит ли на нем постоянный 0)?
Диод правильно впаян, анодом ко входу /WAIT компьютера?
Подтяжку сигнала /WAIT надо поставить от 2 до 3 КОм.
Сигналы с логического анализатора:
http://s017.radikal.ru/i434/1112/9e/d480edfdeab2t.jpg (http://radikal.ru/F/s017.radikal.ru/i434/1112/9e/d480edfdeab2.png.html)
A_WAIT - 25н МК
WAIT - на комп, до диода.
PD2 - 4н МК
IORD_A0 - сигнал с вывода 3 микросхемы DD49.1(ЛА3) - это сигнал чтения порта клавиатуры.
Забыл написать - на Ресет все же реагирует, просто потом догнал, что в этом контроллере он на PrScreen, а на другие кнопки (не считая Num, Scroll Lock) не реагирует.
Еще бы на картинке хотя бы один сигнал с шины данных клавиатуры KD0..KD4 при нажатой в этом разряде клавише.
Забыл написать - на Ресет все же реагирует, просто потом догнал, что в этом контроллере он на PrScreen, а на другие кнопки (не считая Num, Scroll Lock) не реагирует.То, что реагирует на Locks хорошо, значит внутренний цикл опроса клавиатуры работает.
И судя по картинкам и на запрос порта система реагирует.
Значит надо проверять, не коротят ли данные на выходе, поскольку при одновременном нажатии нескольких клавиш (больше 2) ничего работать не будет.
Контроллер судя по всему работает, см. скриншот.
http://s46.radikal.ru/i114/1112/75/f3c6de0aeb54t.jpg (http://radikal.ru/F/s46.radikal.ru/i114/1112/75/f3c6de0aeb54.png.html)
Это реакция на нажатие Enter.
KD0_KBD - после диода на линии KD0
IORD_A0 - сигнал чтения порта клавы
-WAIT - /WAIT после диода
L1 - вход KD0 на плате компа (17н. D44)
D0 - шина данных.
Судя по всему сигнал о нажатой клавише попадает на шину, другое дело, что комп не реагирует на это аж никак... Подключил механику - дела аналогичны :( Но при ресете с зажатыми CS+Space видим цветные полосы. Пойду проверять козы, бо комп весь пропаян трансформаторным лакированным проводом - мож где лак посыпался да касается ног микросхем.
---------- Post added at 07:53 ---------- Previous post was at 07:48 ----------
О счастье! Провел ревизию проводам - все заработало! Камиль, огромное спасибо!
Дмитрий, Поздравляю..
Фюзы для Мега48 также выставлять нужно?
zorel, конкретно для 48й меги описание фузов имеется в архиве с прошивкой, а так да, фузы идентичны с 168, за исключением BOOTSZ/RST.
Дмитрий, не увидел кварца на контроллере, ему достаточно внутреннего генератора или обязательно нужен внешний?
zorel, кварц на момент фото еще не был найден-впаян. Внутреннего не хватает, надо порядка 20МГц.
Дмитрий, осталось выставить фузы для ATMEGA48PA-PU, прошить и можна проверять, правильно я их выставил?
http://zx.pk.ru/attachment.php?attachmentid=32634&stc=1&d=1327947307
zorel, вроде бы правильно.
axel_sunrise
31.01.2012, 12:03
zorel, заработал ли контроллер на п128? У меня что-то не хочет, тестирование клавы проходит, моргает индикаторами, потом спек отмирает, на клаве загораются NumLock и ScrollLock, а на контроллере индикатор горит WAIT. При нажатии на одноименные кнопки - индикация меняется, но тем не менее спек на клаву не реагирует, ни ресет ни чего не срабатывает. Пробовал несколько клав - действие одинаково.
Контроллер на ATMega168V-10PU с кварцем на 24МГц, мож в этом проблема, но видно, что МК с клавой взаимодействует.
Можете поделиться шаблоном платы?
axel_sunrise, http://witchcraft.org.ua/mnublog/12-spectrumblog/35-ps2keyboard
Дмитрий, у меня не заработало ( сигналы вроде правильно припаял, проверил несколько раз. Проц в зависшем состоянии постоянно. Клавиатура на нажатие клавиш реагирует, но если нажимать кнопки NUM lock, caps светодиоды на клавиатуре загораются и гаснут. кварц на 20 мгц, через конденсаторы 30 pf.
---------- Post added at 17:48 ---------- Previous post was at 17:48 ----------
Прошивка вер. 1.0 для меги48 (KBD10_48.HEX).
zorel, не знаю критично ли 30пФ - это лучше знает Камиль.
При включении тест проходит? Должны (по памяти, бо контроллер с пнем у нового хозяина) загореться все индикаторы на клаве, потухнуть, а потом загореться NumLock.
но если нажимать кнопки NUM lock, caps светодиоды на клавиатуре загораются и гаснут
Загораются нужные индикаторы?
тест клавиатура проходит, но NUM lock сразу не загорается, NUM lock загорается если сделать ресет на процессоре в обход контроллеру.
zorel, диоды не попутаны? другую клаву пробовал?
Дмитрий, диоды не попутаны, эта клава работает с фениксом и АТМ турбо. Ладно проверю еще раз все может где соплю повесил.
zorel, феникс может быть не показателен, тут используются другие сканкоды в контроллере, может твоя клава их не поддерживает. Ну а так, если нет боков в сборке и правильно прошита - надо ждать Caro, он рассудит. У меня контроллер заработал на пентагоне без проблем, если не считать проблемой глюк в самом пне.
Клавиатура работает, проц помер :(
zorel, аминЪ:v2_dizzy_priest:
Клавиатура работает, но с залипанием. При включении висит и не входит в меню, горит светодиод сигнала вайт, примерно через пол минуты запускается проц, светодиод сигнала вайт тухнет и запускается меню. Проблема в кварце?
Висит сколько? достаточно долго идет инициализация и комп ресетится спустя 2-4 секунды.
Дмитрий, при включении висит с пол минуты, есть подозрение на кварц или конденсаторы.
zorel, потому видимо и клавиши залипают... попробуй заменить кварц/кондеры.
перепрошил мегу, нужно было поставить галку Program Fuse Bit(s). Теперь без тормозров на кварце 20 МГЦ и конденсаторах 30 пф работает..
Немного путанина в схеме, неплохо бы сигналы KA8...КА15 на на пентагоновские поменять и указать что сигнал А0 нужно садить на GND в остальном сложностей с подключением нет :)
Особая благодарность Caro за разработку контроллера, Дмитрию за помощь с подключением контроллера..
Вот так у меня получилось :)
http://photo.qip.ru/photo/zorel/4030463/middle/96430961.jpg (http://photo.qip.ru/users/zorel/4030463/96430961/)
http://photo.qip.ru/photo/zorel/4030463/middle/96414843.jpg (http://photo.qip.ru/users/zorel/4030463/96414843/)
http://photo.qip.ru/photo/zorel/4030463/middle/96414781.jpg (http://photo.qip.ru/users/zorel/4030463/96414781/)
Немного путанина в схеме, неплохо бы сигналы KA8...КА15 на на пентагоновские поменять и указать что сигнал А0 нужно садить на GND в остальном сложностей с подключением нет
платку я делал для своего старого кая, потому схема не отличается от оригинала и сигналы в нем те же, а пентагон - это получился как побочный эффект :)
axel_sunrise
01.02.2012, 14:49
а печатки в формате lay случайно нет?
axel_sunrise, тебе мало позитивного и негативного шаблонов? могу, конечно поискать проект, но он где-то дома и под DipTrace.
Дмитрий, поделись пожалуйста в DipTrace, а то я заново хотел рисовать в .lay. :)
Добавил шаблон (не финальная версия) контроллера клавиатуры для пентагона в формате dip trace.
X1 - разъем для программатора и доп сигналов, X2 - разъем для подключения клавиатуры. Позже выложу описание.
Дмитрий, осталось выставить фузы для ATMEGA48PA-PU, прошить и можна проверять, правильно я их выставил?
Адаптер KEYB&SINC тоже сделан на базе контроллера клавиатуры от KAY-2010. Используется контроллер ATMEGA48PA-AU, так как его легче достать. В первом топике про адаптер KEYB&SINC (http://zx.pk.ru/showthread.php?t=14757) есть ссылка на прошивку АТМЕГИ с bat - файлами для прошивки с помощью ByteBlasterMV и USB-UART. Там настроены фьюзы для микроконтроллеров ATMEGA48, ATMEGA48PA и ATMEGA168. Может кому пригодится.
Контроллер клавиатуры для пентагон 128 на ATMEGA48
А к ленинграду-2 этот контроллер можно подключить?
Vovan_a, да, через шлейф можна подключить. Сигналы для контроллера прейдется брать с разъема клавиатуры, частично с процессора.
Собрал контроллер клавиатуры, подключил к ленгинграду 2.
Клавиатура заработала но не совсем корректно, нужна помощь в подключении к ленинграду 2..
Все клавиши заработали сразу при подключении, к ленинграду 2, кроме ресета, и иногда после ресета подвисает ленинград, подключал так:
Пентагон / Кай / ленинград2
KA0/KA8/A8
KA1/KA9/A9
KA2/KA10/A10
KA3/KA11/A11
KA4/KA12/A12
KA5/KA13/A13
KA6/KA14/A14
KA7/KA15/A15
KD0/KD0/KL0
KD1/KD1/KL1
KD2/KD2/KL2
KD3/KD3/KL3
KD4/KD4/KL4
Сигналы беру частично от ног процессора
?/Турбо
Magic/Magic/ R1
Wait/Wait/ DD22 6 Н.
A0/A0 / никуда не подключил, сигнал на плате контроллера висит на GND
M1/M1/ 27 Н CPU
?/IORD1/ IORQ dd19 2 н.
кварц на 24.567 мгц.
Не заработал ресет, позже заметил что на плате не правильно нарисованны диоды VD1 и VD5, перевернул, ресет заработал.
Светодиод не правильно себя ведет, при нажатии scroll lock загорается на клавиатуре и на контроллере если еще раз нажать тухнет на контроллере и на клавиатуре.
http://photo.qip.ru/photo/zorel/4119311/middle/99363837.jpg (http://photo.qip.ru/users/zorel/4119311/99363837/)http://photo.qip.ru/photo/zorel/4119311/middle/99363840.jpg (http://photo.qip.ru/users/zorel/4119311/99363840/)
http://photo.qip.ru/photo/zorel/4119311/middle/99363841.jpg (http://photo.qip.ru/users/zorel/4119311/99363841/)http://photo.qip.ru/photo/zorel/4119311/middle/99363844.jpg (http://photo.qip.ru/users/zorel/4119311/99363844/)
кто-то еще кроме меня подключал контроллер?
схема ленинграда
http://photo.qip.ru/photo/zorel/4119311/middle/99363979.gif (http://photo.qip.ru/users/zorel/4119311/99363979/)
Не работает кнопка NMI и с подключенным сигналом M1 ленинград не работает, зависает.
Где на плате ленинград 2, есть сигнал IORD1? И похоже если подключать к ленинграду, нужно на плате контроллера отрезать сигнал А0 от 1 н ЛЛ1 и подать на А0 проц ленинграда?
SoftFelix
19.08.2012, 18:01
A0/A0 / никуда не подключил, сигнал на плате контроллера висит на GND
Это как? Он же участвует в дешифрации чётных адресов (#FE). Обязательно подключить к A0_Z80.
---------- Post added at 18:01 ---------- Previous post was at 17:56 ----------
?/IORD1/ IORQ dd19 2 н.
А это надо бы к 11нDD19.
Это как? Он же участвует в дешифрации чётных адресов (#FE). Обязательно подключить к A0_Z80.
Это не ошибка если подключать к пентагону.. Изначально я его делал для подключения к пентагону... а там А0 нужно было посадить на GND. http://zx-pk.ru/showpost.php?p=433631&postcount=2
SoftFelix, спасибо, сейчас проверю как будет работать с А0.
SoftFelix
19.08.2012, 18:14
Wait/Wait/ DD22 6 Н.
/WAIT надо завести на процессор по схеме 2И. Т.е. замешать с /WAIT'ом от DD22 6н на диодах (в контроллера уже есть свой, не забыть поставить на 24_Z80 pull-up-резистор.) или свободном вентиле ЛИ1.
---------- Post added at 18:14 ---------- Previous post was at 18:08 ----------
Это не шибка если подключать к пентагону.. Изначально я его делал для подключения к пентагону... а там А0 нужно было посадить на GND. http://zx-pk.ru/showpost.php?p=433631&postcount=2 SoftFelix, спасибо, сейчас проверю как будет работать с А0.
Тогда можно А0 в контроллере на землю, а вместо IORD подать сигнал с 11н DD19. Там смысл такой: нужно /IORQ = /RD = A0 = 0
SoftFelix, спасибо, теперь работает.. получается, А0 с контроллера на 30н. CPU или если оставить на GND работает одинаково, дорожку на контроллере резать не нужно, а IORD1 должен быть 11нDD19. Ресет работает, magic или nmi тоже работает, только светодиод работает по прежнему, но это не так важно, спасибо..
SoftFelix, А если к ленинграду 1 подключить, где этот сигнал IORD1 найти? спасибо.
SoftFelix
19.08.2012, 18:47
А если к ленинграду 1 подключить, где этот сигнал IORD1 найти? спасибо
Брать с входа /OE клавиатурных КП11 (15-ые ноги).
Извините, может я что-то упустил, но где можно найти прошивку для контроллера? В теме про KAY-1024 SL4/Turbo v2010?
UA3GBV, да, добавил в первом посте ссылку на прошивку.
SoftFelix
14.10.2012, 23:11
zorel, имхо последняя версия не 1.0, а v1.3 (http://zx.pk.ru/showpost.php?p=518612&postcount=1180). У меня сейчас такая прошита, нареканий вообще нет.
А имеет значение тантал или нет? или можно с4 - с5 обычные из матерей подергать?
А имеет значение тантал или нет? или можно с4 - с5 обычные из матерей подергать?
Должен подойти, если влезит...
Должен подойти, если влезит...
Ну, любой smd 1206 на 10 микрофарад?
А полярный-неполярный - есть разница?
Xitron, можно попробовать. По идее должен подойти. Но лучше по схеме собирать..
С пентагоном по этой схема и без этого конденсатора работало :)
http://photo.qip.ru/photo/zorel/4030463/small/96430961.jpg (http://photo.qip.ru/users/zorel/4030463/96430961/)
АлександрПП
14.11.2012, 01:57
В чем разница между прошивками KBD13_48 и KBD13_48nw ?
SoftFelix
14.11.2012, 02:01
KBD13_48
Генерит /WAIT в ТУРБЕ (не уверен, но может и в обычном режиме генерит)
KBD13_48nw
Вообще не генерит /WAIT. У меня эта прошивка без проблем работает в КАЕ в любом режиме, но кварц для Атмеги48 установлен на 25МГц.
Доброго времени. А можно проверить работоспособность сабжа, не подключая его к компьютеру? Ибо при первом включении Z80 приказал долго жить :( А у меня их как-то маловато. Спасибо.
Доброго времени. А можно проверить работоспособность сабжа, не подключая его к компьютеру? Ибо при первом включении Z80 приказал долго жить :( А у меня их как-то маловато. Спасибо.
Если подать питание на плату контроллера, на плате загорается светодиод и тухнет через 3 сек.
Если подключить клавиатуру, светодиод реагирует на нажатие print screen.
На клавиатуре загораются и тухнут светодиоды если нажимать Num Lock. Caps Lock, Scroll Lock
Если подать питание на плату контроллера, на плате загорается светодиод и тухнет через 3 сек.
Спасибо, у меня только вспыхивает на 0.5 сек Caps LocK, если подключить клавиатуру. Буду курить фьюзы.
Спасибо, у меня только вспыхивает на 0.5 сек Caps LocK, если подключить клавиатуру. Буду курить фьюзы.
а Num Locк и Scroll Lock не загораются? У меня при включении контроллера с подключенной клавиатурой, 3 светодиода (Num Locк Caps Lock и Scroll Lock ) 2 раза подряд загораются , только Caps Lock тухнет в конце опроса.. И светодиод на контроллере реагирует на нажтие Print Scroll..
Спасибо, у меня только вспыхивает на 0.5 сек Caps LocK, если подключить клавиатуру.Если контроллер не подключен к компу, то рекомендую *A0 или IORQ1/ подтянуть к +5v любым резистором от 1 до 10 кОм.
Если контроллер не подключен к компу, то рекомендую *A0 или IORQ1/ подтянуть к +5v любым резистором от 1 до 10 кОм.
Получится КЗ.. На плате *A0 подключен к общему.. :)
Получится КЗ.. На плате *A0 подключен к общему.. :)Во первых в исходной схеме (см. пост 1) эти сигналы не заземлены.
Во-вторых если между землей и +5V поставить резистор от 1 до 10 КОм (я именно так и написал) КЗ ну никак не будет.
Я просто хотел сказать, что при не подключенных сигналах на входе схемы формирования прерывания МК, его работа будет нарушена.
в исходной схеме (см. пост 1) эти сигналы не заземлены.
Ищу схему, по которой делал платку, отличие от той что выложена, только в сигнале А0.
Кварц ставить на 20 или на 24 МГц ?
Диоды Д1 и Д5 реально нарисованы наоборот (тут в теме проскакивало)?
С4 на 10 мкф нужен именно не полярный?
Светодиод типа АЛ307 пойдет?
Фотка нормальной рабочей платки есть у кого-нибудь - можно на почту kural003@mail.ru ?
Кварц ставить на 20 или на 24 МГц ?Без разницы, на 20 МГц при ТУРБО будет чуть подтормаживать.
Диоды Д1 и Д5 реально нарисованы наоборот (тут в теме проскакивало)?В схеме (см. 1 пост) все диоды нарисованы в правильной полярности.
С4 на 10 мкф нужен именно не полярный?Обычный электролитический, полярный.
Светодиод типа АЛ307 пойдет?Любой, в том числе и этот.
а Num Locк и Scroll Lock не загораются? У меня при включении контроллера с подключенной клавиатурой, 3 светодиода (Num Locк Caps Lock и Scroll Lock ) 2 раза подряд загораются , только Caps Lock тухнет в конце опроса.. И светодиод на контроллере реагирует на нажтие Print Scroll..
Перешил фьюзы - все перечисленые реакции на нажатия появились. С компом все еще не дружит (Пент128). Подключал с разъема Х1: M1 - 27я нога Z80; WAIT - 24я; /RES - 26я. Инверсия этим сигналам не нужна? А0 и IQRD1 не подключал, хотя IQRD1 пробовал на 20-ю ногу. Мега48, кварцы 20/24/25 МГц, прошивки простая и nw, клавы разнообразные =)
---------- Post added at 22:50 ---------- Previous post was at 22:49 ----------
Если контроллер не подключен к компу, то рекомендую *A0 или IORQ1/ подтянуть к +5v любым резистором от 1 до 10 кОм.
Спасибо, завелось перепрошивкой фьюзов, но с компом еще не дружит.
Диоды Д1 и Д5 реально нарисованы наоборот (тут в теме проскакивало)?
На плате нарисовано не правильно.. Нужно устанавливать наоборот.
Фотка нормальной рабочей платки есть у кого-нибудь - можно на почту kural003@mail.ru ?
Фото запущенной платы и протестированной на Ленинграде есть тут http://zx-pk.ru/showpost.php?p=533601&postcount=42 для пентагона, что-бы совпали сигналы, разъем J1 на плате контроллера нужно припаивать с обратной стороны платы (http://zx.pk.ru/showthread.php?t=17270).
Подключал с разъема Х1: M1 - 27я нога Z80; WAIT - 24я; /RES - 26я. Инверсия этим сигналам не нужна?Нет не нужна, мало того, для начала можно эти сигналы вообще не подключать, особенно если комп не турбирован.
А0 и IQRD1 не подключал, хотя IQRD1 пробовал на 20-ю ногу. Мега48A0 в Пентагоне вообще не нужно подключать, а вот IORD1/ непременно нужен (причем именно в активном низком уровне), иначе и не заработает.
Посмотри, может по этой схеме делал?
нет - нет.., делал именно по той что в начале топика выложена, а точнее схема была взята из Кай2010 :)
Все воспросы снимаю, нашел косяк - дохлые SMD диоды (ставил десять раз Б/У), спасибо всем, кто откликнулся )
Новый вопрос - /RES на клавиатуре где висит?
Фото запущенной платы и протестированной на Ленинграде есть тут http://zx-pk.ru/showpost.php?p=533601&postcount=42 для пентагона, что-бы совпали сигналы, разъем J1 на плате контроллера нужно припаивать с обратной стороны платы.
А обратная сторона это какая? Там на картинках разъем с той же стороны, что и все детали - это правильно для пентагона?
Сообщение от sables
С4 на 10 мкф нужен именно не полярный?
Обычный электролитический, полярный.
Плюсом в какую сторону?
Вопрос такой: вместо команды "FORMAT" выдает команду "CAT". Это так задумано или мне другую клавиатуру поискать? Спасибо.
Вопрос такой: вместо команды "FORMAT" выдает команду "CAT". Это так задумано или мне другую клавиатуру поискать?Это так получилось, поскольку на Спектруме круглые скобки ( и ) сидят на клавише 8 и 9, а на IBM-оской клавиатуре на 9 и 0.
В текущей раскладке клавиатуры это учтено, но приводит к тому, что токены, сидящие на этих клавишах не соответствуют своему расположению на Спектрумовской клавиатуре.
И это касается еще нескольких клавиш.
caro, Понятно, а способ вызова этой команды есть какой-нибудь? =)
caro, Понятно, а способ вызова этой команды есть какой-нибудь? =)Правее клавиши [0,)] клавиша [-,_], по-моему как раз и будет FORMAT (в режиме EXTEND MODE с нажатой клавишей SHIFT).
caro, Спасибо, не догадался :rolleyes:
Прошу помощи в подключении сабжа к жёлтому Скорпиону.Все сигналы брал с ламелей периферийного и системного порта, сигнал IQRD1/ взял с 3н: D32 "/CSK". При включении горит диод, реагирует только на F12, PrtScr, NumLock, CapsLock, ScrLock. На них реагирует правильно, а на все остальные клавиши никакой реакции. Прошивка KBD13_48.HEX.
Как узнать , поддерживает ли клавиатура Scancode 2?
Прошу помощи в подключении сабжа к жёлтому Скорпиону.Все сигналы брал с ламелей периферийного и системного порта, сигнал IQRD1/ взял с 3н: D32 "/CSK". При включении горит диод, реагирует только на F12, PrtScr, NumLock, CapsLock, ScrLock. На них реагирует правильно, а на все остальные клавиши никакой реакции. Прошивка KBD13_48.HEX.
Как узнать , поддерживает ли клавиатура Scancode 2?
А на клавиатуре светодиоды загораются и тухнут так-же как и здесь описано? http://zx.pk.ru/showpost.php?p=349749&postcount=202 Может быть в фюзах что-то не правильно выставлено :)
---------- Post added at 12:17 ---------- Previous post was at 12:14 ----------
Gutten, сигнал /A0 подключен?
Сигналы подключал по вложению из первого сообщения темы "список деталей + назначение выводов разъемов X1 и J1.rar":
------X1------
1 - *RES_AVR
2 - *KD5/SCK_AVR
3 - *KD4/MISO_AVR
4 - *KD3/MOSI_AVR
5 - GND
6 - M1
7 - WAIT
8 - IQRD1/
9 - /RES
------J1------
1 - VCC
2 - KA3
4 - KA2
6 - KA1
7 - MAGIC
8 - KA0
10 - KA4
12 - KA5
14 - KA6
16 - KA7
18 - KD3
20 - KD4
22 - KD2
24 - KD1
26 - KD
Куда подключать А0?
Прошиваю в AvrDude, фюзы выставляю те, что на картинке из первого сообщения.
Вначале загораются все три, потом все гаснут, потом загораются и горят NumLocjk и ScrolLock и светодиод контроллера.
После этого при нажатии ScrolLock синхронно гаснут/загораются светодиоды ScrolLock на клавиатуре и контроллере.
При нажатии NumLock гаснет/загорается светодиод на клавиатуре.
При нажатии Pause мигает светодиод на контроллере. Если он был погашен ScrolLock'ом, то он загорается и горит.
При нажатии F12, PrtScreen корректно отрабатывается Magic и Reset.
Полоски на диодах расположены так же, как у вас
http://zx.pk.ru/showpost.php?p=533601&postcount=42
Gutten, я забыл, что сигнал A0 на GND :)
для подключения к скорпиону, нужно сделать доработку на плате контроллера клавиатуры.
Cигнал A0 нужно брать с 1 - й ноги ЛЛ1(LS32) на плате контроллера клавиатуры. Только сначала нужно на 1-й ноге ЛЛ1 сделать разрез дорожки, освободить от GND..
Gutten, можно этит сигнал вывести на разъем, а потом брать с разъема через шлейф..
Вот так как на картинке или на прямую с ноги микросхемы..
Увы, ничего не изменилось. Что ещё можно предпринять? Реакция на кнопки не изменилась. Кстати, нет реакции и на такие действия:
<WinMenu>+<F2> - тест мышки;
<WinMenu>+<F10> - тест цвета;
<WinMenu>+<F11> - тест скан-кода нажатой клавиши;
<WinMenu>+<V> - текст версии "ZXKB v.1.3";
<WinMenu>+<L> - RESET,LOAD ""<CR>;
<WinMenu>+<ESC> - RESET,LOAD ""<CR>; - набор посимвольный
<WinMenu>+<T> - RANDOMIZE USR 15616<CR>;
<WinMenu>+<R> - RANDOMIZE USR 1561;
John North
30.06.2013, 18:10
Gutten, пробовал с другой клавиатурой ?
Да. Пробовал с миниклавиатурой какой-то китайской и с Chicony KB-9810. Всё одинаково.
Gutten, Посмотрел в топике, У Дмитрия была похожа проблема.. http://zx.pk.ru/showpost.php?p=443286&postcount=12
И по моему, если scroll-lock включен, то на кнопки клавиатура вообще не реагирует...
---------- Post added at 20:09 ---------- Previous post was at 20:04 ----------
Если мега не 48-я а к примеру 168, то там немного по другому фузы выставляются..
Atmega48V-10PU. Скриншот считанных фюзов из AvrDude прилагаю.
После запуска напряжение между GND и BA8...BA15 (адресные линии) разное: где-то 0В; где-то 1,2В; где-то 3,8В. Между GND и KL0...KL4 5,2В. При нажатии на клавиши оно ни на одном разряде ВА или KL не меняется. Т.е. мне кажется, что контроллер не выдаёт никакой информации наружу кроме Reset и Magic. Хотя я измеряю мультиметром, может он просто не успевает заметить изменение.
При подключенном контроллере замыкание линий BA и KL механической клавиатурой в виде "проводочка" на разъёме X1 контроллера отрабатывается корректно, компьютер реагирует на "нажатие".
Кстати, у меня кварц на 24Мгц, а в прошивке фюзы указаны на 20 Мгц. Может быть дело в этом?
Есть ещё Atmega8-16PU. С ней можно попробовать или не стоит? Что-то я не могу понять что означают буквы после последних цифр. Наверное, что-то важное значат.
Есть ещё Atmega8-16PU. С ней можно попробовать или не стоит? Что-то я не могу понять что означают буквы после последних цифр. Наверное, что-то важное значат.
Как вариант можно попробовать прошить еще версию 1.0, она точно работает с кварцем на 24 мгц..
http://zx.pk.ru/showpost.php?p=406992&postcount=1002
SoftFelix
01.07.2013, 00:22
Что-то я не могу понять что означают буквы после последних цифр. Наверное, что-то важное значат.
Исполнение корпуса и всякие там "свинцОво-безсвинцОвые покрытия выводов".
Кстати, прошивать надо только во Flash .HEX файлик? .ASM никуда не надо компилировать дополнительно?
Завтра попробую прошить Atmega8-16PU.
Кстати, прошивать надо только во Flash .HEX файлик? .ASM никуда не надо компилировать дополнительно?
Завтра попробую прошить Atmega8-16PU.
Да нет, .ASM компилировать не нужно. Фузы под Atmega8 должны быть в архиве с прошивкой для контроллера.
Есть предположение, но я не уверен что из-за этого проблема.. Я изначально планировал сделать контролер под Пентагон, но с возможностью установки его на другие клоны ZX Spectrum и не исключаю проблемы с подключением к другим клонам..
В этой версии сигнал А0 посажен на землю и нет сигнала турбо как в оригинале.. С Пентагоном и Ленинградом контроллер работает хорошо, а вот со скорпионом я не проверял.. Возможно придется немного доработать контроллер для скорпиона, добавить пару перемычек и 1 резистор.. Я не уверен что проблема именно в отсутствии турбо режима, но скорей всего что нормальной работы спектрумов с повышенной частотой работы процессора, нужно будет немного доработать контроллер, добавить пату перемычек и 1 резистор... Постараюсь проверить на днях на своем скорпионе..
Я подключаю к скорпиону "жёлтому", не турбированному. Так что мне сигнал TURBO даже и подключать некуда.
Судя по всему Atmega8 мне прислали битые - после первой прошивки не проходит ни верификация, ни дальнейшее чтение-запись.
Так что пока контроллер окирпичился.
SoftFelix
01.07.2013, 20:00
после первой прошивки не проходит ни верификация, ни дальнейшее чтение-запись.
Так что пока контроллер окирпичился.
99% что SPIEN ставишь неправильно.
---------- Post added at 20:00 ---------- Previous post was at 19:54 ----------
p.s. Вот тут (http://zx.pk.ru/showthread.php?t=13770&page=18) очень подробно про прошивку, включая ссылку на софт.
99% что SPIEN ставишь неправильно.
Это фьюз нельзя по SPI изменить. Более вероятно источник тактовой частоты неправильно задан. У ATMega8 еще RSTDISBL лучше не трогать.
SoftFelix
01.07.2013, 20:13
Это фьюз нельзя по SPI изменить.
Точно. В Пони-Проге он заранее выставлен как надо и не дает себя изменить.
http://zx.pk.ru/showthread.php?t=13770&page=22
А я, почему-то, был уверен, что этот фьюз шьется по SPI, а вот потом уже только hiprg (или как оно там?).
Я вначале считал все фюзы, потом изменил на нужные те фюзы, что указаны в файлике с прошивками. Но LOCKBITS некоторые были не прописаны и я их не менял. После прошивки фюзов операции верификация показала ошибку и после этого считывание/запись флэш/фюзов не проходит.
---------- Post added at 21:02 ---------- Previous post was at 20:42 ----------
Почитал тему про Кай. Может попробовать в контроллере отключить резисторную сборку 10 кОм? Это может сработать?
SoftFelix
01.07.2013, 21:31
Может попробовать в контроллере отключить резисторную сборку 10 кОм? Это может сработать?
Не, это трогать не надо. В КАЕ были свои заморочки.
SoftFelix
02.07.2013, 12:28
Завтра попробую прошить Atmega8-16PU.
Это... А почему её шьем прошивкой для 48-ой? Они ведь вроде не совместимые.
Судя по всему Atmega8 мне прислали битые
Не-не-не, Atmega8 заказал на dx.com, Atmega48V заказал на ebay.com.
Atmega8 шью прошивкой KBD13_M8.hex, фюзы беру из FUSES_m8.txt, но там не ве фюзы указаны.
Atmega48V шью KBD13_48.hex, фюзы из FUSE_M48.txt.
В обоих случаях успеха нет.
Может дело в атмеге? Или в скорпионе? Или во мне? Даже не знаю.
SoftFelix
02.07.2013, 15:45
Может дело в атмеге? Или в скорпионе? Или во мне? Даже не знаю.
Атмеги первый раз шьешь? Может дело в программаторе или софте. Программатор USB или LPT?
Шью "USBAVR ISP" c dx.com через AvrDude и "Willem PCB50b" LPT от sivava.com через его софтину. Правда Атмегу8 успел только через USBAVR прошить, а Атмега48 шьётся обоими нормально, считывается корректно.
Кажется победил. Проблема была в кварце 24Мгц, поставил 20МГц и почти всё завелось. Почти, это не работают линии KL0, KL1, KL2. Судя по всему проблема в диодах. Были плохо пропаяны и не было контакта с гребёнкой.
Теперь могу сказать, что на Скорпионе всё работает, но обязательно надо заводить сигнал А0.
Спасибо за контроллер клавиатуры всем, кто принимал участие в его изготовлении и программировании .
Кто нибудь эту схему к Ленинград 1 подключал?
Я не совсем понял А0 нужен или достаточно подать подать IORQ с 15 вывода КП11 порта клавиатуры?
Также не совсем понятно с сигналом WAIT: нужно ли на плате компютера перерезать сигнал WAIT и ставить в разрыв диод и подтягивающий резистор чтобы получить схему 2И или можно тупо подключить выход контроллера к сигналу WAIT на компьютере?
И вообще нужен ли этот сигнал для Лениграда 1, можно ли просто использовать прошивку nowait на нетурбированном Лениград 1?
И если А0 не нужен, WAIT тоже при использовании прошивки nowait, переключение Турбо и Магик мне также не нужны - тогда ЛЛ1 становится сосвем не нужна?
Также вопрос по поводу подтягивающей резисторной сборке и диодов на адресных сигналах:
по идее на Лениград1 они уже разведены и установлены на плате компьютера.
По идее они тогда тоже не нужны на плате контроллера?
oracleua
09.02.2014, 01:07
Я подключал к Ленинград 2...прошивка nowait..ЛЛ1 не ставил...
достаточно подать подать IORQ с 15 вывода КП11 порта клавиатуры
резисторы подтягивающие ставил...диоды то-же..
Посмотрел по поводу подтягивающих резисторов и диодов. На плате диоды стоят на адресах, а резисторы висят на входах порта клавиатуры. А на контроллере резисторы подтягивают адреса, а диоды стоят на входах порта клавиатуры. Получается что нужны и там и там. Вернее диоды на плате компьютера становятся не нужны.
Плохо ... я то думал воткнул контроллер в разъём клавиатуры и подал только IORQ с 15 вывода КП11 и всё ... а тут придётся подпаивать непосредственно к адресной шине. Либо всё таки адресные сигналы на контроллер можно всё таки снимать с разъёма клавиатуры? Т.е. через диоды?
oracleua
10.02.2014, 02:12
Я все сигналы брал с разъёма клавиатуры + IORQ с 15 вывода КП11
Собрал схему без WAIT и без ЛЛ1 и подключил к Ленинград 1. Всё отлично работает. Подключается контроллер только через 16 пиновый разъём клавиатуры. На три неиспользуемых пина разъёма добавил только +5 В, землю и IORQ с 15 вывода КП11 порта клавиатуры. При необходимости можно отдельным проводом вывести сигнал RESET.
А0 в Ленинград 1 тоже не нужен, т.к. он уже подаётся на КП11 порта клавиатуры.
В качестве контроллера использовал Atmega48 с прошивкой KBD13_48nw и кварцем 25 Мгц. С кварцем 20 Мгц не совсем правильно работало в EXOLON ... Пробовал использовать Atmega8 с KBD13_M8nw, но ни одна из трёх имеющихся Atmega8 не заработала на 20 Мгц.
Такую же платку без WAIT и без ЛЛ1 подключил к Кворум БК 04. Вместо IORQ подключил к выводу 1 К555ИР22 порта клавиатуры. Всё отлично работает.
Кто нибудь пробовал подключать данный контроллер или другой контроллер Keyb&Sync к зелёному Scorpion 256? У кого нибудь он заработал?
А то вчера пробовал подключить даннй контроллер к зелёному Scorpion 256. Сигнал IORD взял с 15 вывода D36, D37 порта мультиплексора.
Но реакции никакой, не работает ...
То ли сигнал выборки приходит чаще и МК не справляется, то ли проблема в использовании 555ЛП9 для буферирования ША?
Во всех других клонах адресные сигналы снимаются непосредственно с ША через диоды, а в зелёном Scorpion 256 адресные сигналы идут через буферы 555ЛП9 ...
Кто нибудь пробовал подключать данный контроллер или другой контроллер Keyb&Sync к зелёному Scorpion 256? У кого нибудь он заработал?
Вполне возможно, что мне придётся делать это. Опишись, пожалуйста, по результату.
Про A0 не забыл? Между жёлтым и зелёным нет разницы в опросе клавиатуры. Я к жёлтому подключил без проблем (проблемы были, но по причине ошибок монтажа, и после исправления всё сразу заработало). Ну и кварц может надо поменять на 20Мгц.
"для подключения к скорпиону, нужно сделать доработку на плате контроллера клавиатуры.
Cигнал A0 нужно брать с 1 - й ноги ЛЛ1(LS32) на плате контроллера клавиатуры. Только сначала нужно на 1-й ноге ЛЛ1 сделать разрез дорожки, освободить от GND"
http://zx.pk.ru/showpost.php?p=612385&postcount=81
Стал собирать этот контроллер и не могу понять, обозначения на схеме не соответствуют обозначениям монтажной схемы. Но это ладно, может я чего не то смотрю. Меня больше всего смущают 3 конденсатора.
Если смотреть по схеме, то это три параллельно включенных С24, С25 и С28, а если смотреть по монтажке, то это С4, С5 и С6, причем С4 и С5 вообще явно рядом запараллелены. Зачем ?
Стал собирать этот контроллер и не могу понять, обозначения на схеме не соответствуют обозначениям монтажной схемы. Но это ладно, может я чего не то смотрю. Меня больше всего смущают 3 конденсатора.
Если смотреть по схеме, то это три параллельно включенных С24, С25 и С28, а если смотреть по монтажке, то это С4, С5 и С6, причем С4 и С5 вообще явно рядом запараллелены. Зачем ?
Перерисованная схема затерялась, добавил ту с которой перерисовывал, оригинал схема Кай 2010. Обозначение деталей в начале топика есть в списке деталей. Там все детали соответствуют деталям на шелкографии. С4 и С5 расстояние между конденсаторами больше чем между диодов, так что припаять можно без проблем. Керамика и танталовый конденсаторы, запаралеленные, что-бы убрать высокочастотный и низкочастотный шум.
Народ, пытаюсь подключить данную схему к классическому 128 пентану
никакого эффекта, при запуске на секунду экран показывает полосы, потом проходит ресет ( с платы контроллера), появляется меню , но на клавиши не реагирует.
на плате контролере на 2 секунды загореться светодиод, потом гаснет.
на клавиатуре как и положено при включении питания загораются светодиоды и гаснут
в чем может быть затык? куда копать?
p.s. atmega 48 прошивка KBD13_48
Буду собирать. Отрисовал схему по плате ZOREL-а. Может кому пригодится.
52878
Дык в первом посте не то же разве?
Дык в первом посте не то же разве? Там "огрызок" от общей схемы KAY, с несоответствием фактически на плате от ZOREL.
Буду собирать. Отрисовал схему по плате ZOREL-а. Может кому пригодится.
52877
Спасибо за схему, добавил ссылку на Ваш пост в первом сообщении.
а у меня так и не заработало :(
Печально. Не заводится. При включении моргает тремя светодиодами на клаве и всё, на плате светодиод не светится, не моргает. Не реагирует ни на что. Не заведены на плату (Пентагон 128 2014года) M1, WAIT, RES. Atmega48A, пробовал и KBD13_48.HEX и KBD13_48nw.HEX. Соплей вроде нет. Диоды КД522Б анодом к разъему. Пробовал 2 клавиатуры. Диагноз тот-же. Подскажите, куда дальше копать?
P.S. Пришлось собирать контроллер, потому что в радио-магазе, тупо нет 40 одинаковых кнопок.
P.P.S. Кварц на 20, собирал на макетке МГТФ-ом.
Печально. Не заводится. При включении моргает тремя светодиодами на клаве и всё, на плате светодиод не светится, не моргает. Не реагирует ни на что. Не заведены на плату (Пентагон 128 2014года) M1, WAIT, RES. Atmega48A, пробовал и KBD13_48.HEX и KBD13_48nw.HEX. Соплей вроде нет. Диоды КД522Б анодом к разъему. Пробовал 2 клавиатуры. Диагноз тот-же. Подскажите, куда дальше копать?
P.S. Пришлось собирать контроллер, потому что в радио-магазе, тупо нет 40 одинаковых кнопок.
P.P.S. Кварц на 20, собирал на макетке МГТФ-ом.
для начала можно просто отключить от всего и запустить платку только с клавой
но похоже у Вас фьюзы выставлены не верно
p.s. у меня завелась на ура - был дефект на плате
...но похоже у Вас фьюзы выставлены не верноШил программатором TL866cs, там вообще с этой Атмегой засада, у меня 48А, но программером определяется как 48PA, шил и так и так, (опыта мало) пока допер, что нужно загружать не как бинарник, а как hex - еще время потерял... Вообщем, решил подпаять ICSP и прошить ПониПрогой.52915
Загляни сюда: http://zx-pk.ru/showpost.php?p=743529&postcount=56
Здесь схема, прошивка и расписаны фьюзы.
Сделано было именно для Пентагона.
to doc_fbi поделитесь с нами, какой дефект был на плате? У Вас плата от Zorel? Сам буду сегодня, завтра подключать к Пентагону 48 плату от Zorel, вроде прошил, но как будет работать х.з.
Загляни сюда: http://zx-pk.ru/showpost.php?p=743529&postcount=56
Здесь схема, прошивка и расписаны фьюзы.
Сделано было именно для Пентагона.
Не совсем истина, там разводка с расчетом использования расширенной клавиатуры, а она у меня не реализована, т.е. 19н.Atmega48 болтается в воздухе, может ее притянуть нужно куда?
to doc_fbi поделитесь с нами, какой дефект был на плате? У Вас плата от Zorel? Сам буду сегодня, завтра подключать к Пентагону 48 плату от Zorel, вроде прошил, но как будет работать х.з.
----------------------------------
От: wiktors75
Приветствую!
на платке клавиатуры нашлось "слабое" место,маска открывает проводник и лужение замкыкает пад с проводником
----------------------------------
именно это у меня и было
Не совсем истина, там разводка с расчетом использования расширенной клавиатуры, а она у меня не реализована, т.е. 19н.Atmega48 болтается в воздухе, может ее притянуть нужно куда?
у меня тоже болтается в воздухе - все работает
плата запускается даже если она к самому zx не подключена, проверить легко - printscrin - посылает команду на reset
p.s. а атмега у вас часом не с буквой "А" на конце?
А атмега у вас часом не с буквой "А" на конце?Всё верно, Atmega48А. В программаторе TL866 она определяется только как РА. А что, есть какая-то засада?
goodronishe, в DIP28 есть и А и РА.
goodronishe
21.07.2015, 15:26
Р - тип корпуса...
Mor-Da, похоже знает секрет.
Вот что писал caro:
Имеется 5 модификаций этих контроллеров:
ATMega48
ATmega48V
ATMega48A
ATmega48P
ATmega48PA
Буква V - пониженное напряжение питания;
Буква A - микросхема имеет расширенный диапазон питания от 1.8 до 5.5 Вольт;
Буква P - PicoPower - пониженное потребление;
Всё верно, Atmega48А. В программаторе TL866 она определяется только как РА. А что, есть какая-то засада?
goodronishe, в DIP28 есть и А и РА.
пришлите контрольную сумму фьюзов я проверю у меня такой же программатор
пришлите контрольную сумму фьюзов я проверю у меня такой же программаторEF/DC/FF/FF
Здесь скрин http://zx-pk.ru/showpost.php?p=818473&postcount=123
EF/DC/FF/FF
Здесь скрин http://zx-pk.ru/showpost.php?p=818473&postcount=123
у меня чуток по другому
у меня чуток по другому
SPIEN - всегда должен быть с галочкой (но это наверно для прошивки через ICSP-разъем, хотя программатор наверно те же ноги и использует).
А с моей Атмегой48А - видимо что-то не то. Три лампочки моргают и дальше всё, на соответствующие клавиши не реагирует.
проверь правильно ли диоды впаял. Причём прозвонкой от ног м/с до разъёма, заодно проверишь нормально ли они пропаялись.
проверь правильно ли диоды впаял. Причём прозвонкой от ног м/с до разъёма, заодно проверишь нормально ли они пропаялись.
С этим всё норм.
Собрал сабж. Контроллер ATMega48 PA. Кварц на 25 МГц. Прошивку залил KBD13_48nw. Подключил к Пентагону 48. Сигнал IORD1 (по схеме контроллера) подключил к сигналу /RDFE (по схеме пентагона 48 1н. DD40). Ну с со столбцами и строками клавиатуры всё понятно, подключил соответсвенно. Линию Magic пока не подключил т. к. не собран BDI и нет ПЗУ на BDI. Вроде работает, во всяком случае вроде все буквы набираются. Запустить программы пока не могу, комп не до конца собран. Скажите пожалуйста, а должны работать комбинации типа WinMenu+V и прочие? У меня не работают.
В любом случае Caro огромное спасибо за труд.
должны. ты точно нажимаешь не Win, а WinMenu?
должны. ты точно нажимаешь не Win, а WinMenu?
Что то засомневался, а может и Win нажимал. Проверю через некоторое время, убрал всё. Спасибо.
гм, а есть полный список доп комбинаций клавиш? а то я кроме ресета и магик незнаю других
гм, а есть полный список доп комбинаций клавиш? а то я кроме ресета и магик незнаю других
Релизованы:
<WinMenu>+<F2> - тест мышки;
<WinMenu>+<F10> - тест цвета;
<WinMenu>+<F11> - тест скан-кода нажатой клавиши;
<WinMenu>+<V> - текст версии "ZXKB v.1.3";
<WinMenu>+<L> - RESET,LOAD ""<CR>;
<WinMenu>+<ESC> - RESET,LOAD ""<CR>; - набор посимвольный
<WinMenu>+<T> - RANDOMIZE USR 15616<CR>;
<WinMenu>+<R> - RANDOMIZE USR 1561;
Поставил 168-20PU результат тот-же, при подаче питания кратковременно загораются 3 светодиода на клаве и всё, больше на кнопки не реагирует.
Поставил 168-20PU результат тот-же, при подаче питания кратковременно загораются 3 светодиода на клаве и всё, больше на кнопки не реагирует.
M1, WAIT, RES. заведены на плату?
M1, WAIT, RES. заведены на плату?Нет. Вообще не подключена, просто уже питание на контроллер подаю.
Нет. Вообще не подключена, просто уже питание на контроллер подаю.
Если контроллер прошит правильно, светодиоды на клавиатуре должны реагировать на Nome, Caps, Scroll lock. Даже если контроллер не подключен к спектруму, а просто подано питание.
---------- Post added at 16:53 ---------- Previous post was at 16:52 ----------
Светодиоды будут загораться и тухнуть на клавиатуре, если просто питание подать на клавиатуру, без контроллера.
Вроде, запустился. 33Пф, все таки многовато, запустился с 22Пф... Пока от внешнего питания, без подключения к Пентагону.
wiktors75
20.09.2015, 21:49
переразвел под QFP корпус меги48
разводка в спринте ,монтажка ,фьюзы для ProgISP
переразвел под QFP корпус меги48
разводка в спринте https://yadi.sk/d/l8MVYN36jCtKN
монтажка https://yadi.sk/i/BeZGLYkGjCtVY
фьюзы для ProgISP https://yadi.sk/i/_cl2R3a7jCtYZ
Господа, ну БЛИН , не выкладывайте вы в файлы в такие сервисы!
завтра Вы их удалите или сам файлообменик их грохнит , и их потом хрен кто найдет! Выложи их прямиком в форум!
Облегченная версия для ATMEGA8 24MHz (может и на других частотах будет работать, т.к. тайминги поправлены немного), финальная оптимизация, ничего кроме кристалла подключать не нужно, втыкается прямо в порт клавиатуры.
Отключено: сохранение состояний индикаторов, скрипты и то что с <WinMenu>
Все остальное работает нормально, подробно как подключать в архиве.
PS: убрано много лишнего кода, на 1 такт ускорена обработка прерываний /RDFE, убрана обработка бита таймера TOV1, т.к. оказалось, что он в прошивке вообще не использовался!!!
PPS: ресет можно оставить в воздухе, питание можно подавать как угодно GND на любой из двух выводов GND, VVC либо на VCC либо на AVCC, разницы никакой, еще раз напомню, что никакие подтягивающие резисторы не нужны, диоды тоже, на выводы клавиатуры так же подтягивающие резисторы не нужны, т.к. они есть в самой клавиатуре. Конденсаторы на кварц, в принципе я не ставлю, т.к. включен фьюз CKOPT, но если совсем никак (попадаются редкие экземпляры МК), тогда можно и поставить.
Выкладываю версию 5.2 с исходниками
- Клавиша Shift на PS/2 клавиатуре работает аналогично PC, теперь не нужно думать какой Shift нажать, он работает и для смены регистра букв и для выбора альтернативных символов на цифровых и др. клавишах.
- Еще больше оптимизации (в 5.1 убрал заполнение всех 256 байт с адреса 0x100, когда нужно для порта #FE всего 8 значений)
- Исходники с подробными комментариями :-D
- Отключение NumLock переводит клавиши курсора и пробел в режим Sinclair джойстика
- Автоматическое переключение в E режим для клавиш [ { } ]
- На правую кнопку WIN добавлен символ копирайта
- Исправлена проблема с ресетом
Вложение удалено из-за недоработки, используйте версию 5.5 на стр. 20
oracleua
30.01.2016, 23:51
Запустил версию 4.
В принципе работает.
Но вот прикол. Если подключен ресет...то нужно при включении нажать PrScr.
Сам компьютер при включении не ресетится..
Еще не работают 6.7.8.9.0 хотя работают на доп. цифровых кнопках..
В версии 5.2 все клавиши работают.
А вот проблема с ресетом осталась..
Обновил 5.2, сделал ресет LOW при запуске, после инициализации HIGH, должно помочь. Сообщите о результатах.
oracleua
31.01.2016, 01:23
Теперь комп ресетится.
но вот прикол
Это с отпаяным ресетом
http://i.piccy_.info/i9/3d26618c5d73dd7bfcda34af03342307/1454192597/9817/995106/2016_01_31_00_20_31_240.jpg (http://piccy_.info/view3/9341297/dc09288bc75c217349bd6f1461b5c35d/)http://i.piccy_.info/a3/2016-01-30-22-23/i9-9341297/240x180-r/i.gif (http://i.piccy_.info/a3c/2016-01-30-22-23/i9-9341297/240x180-r)
А это когда припаян
http://i.piccy_.info/i9/fe01351fa67aba0bea2609f0d6dec0be/1454192629/10518/995106/2016_01_31_00_20_48_240.jpg (http://piccy_.info/view3/9341300/530d51b1697e16e3b61d01362fc553a0/)http://i.piccy_.info/a3/2016-01-30-22-23/i9-9341300/240x180-r/i.gif (http://i.piccy_.info/a3c/2016-01-30-22-23/i9-9341300/240x180-r)
Не совсем понимаю, нужно еще что-то исправлять или нет? :)
oracleua
31.01.2016, 01:43
Не совсем понимаю, нужно еще что-то исправлять или нет? :)
Нужно...но пока не могу подсказать каким образом GLUK после сброса попадает на текстовое меню..
Исправил, там ресет отпускался до инициализации буфера порта и нажималась куча кнопок, сейчас должно исправиться, хотя, не совсем уверен, что причина в этом...
Еще залил 5.2.1, там ресет в другом месте нажимается, если с 5.2 не получится - попробуйте её.
oracleua
31.01.2016, 02:06
с 5.2 не получилось...и перестали работать некоторые кнопки (2 9 w o s дальше не проверял)...дорожку повредил...так что должны кнопки работать..
с 5.2.1 не получилось...и при сбросе с нажатой клавишей не реагирует..
Еще раз обновил 5.2, у меня нормально ресет происходит.
Странно, что он у вас сам не ресетится, наверное конденсатора нет :)
oracleua
31.01.2016, 11:15
Еще раз обновил 5.2, у меня нормально ресет происходит.
Странно, что он у вас сам не ресетится, наверное конденсатора нет :)
Попробую..
Конденсатор есть..
Суть в чем....
когда ресет не подключен...при включении работает все как нужно..
когда подключен ресет..то при включении попадаю в текстовое меню глюка..(получается что при включении нажата клавиша)
С контролером на атмеге48 все работает...
С обновленной 5.2 при влючении..срабатывает как нужно...
но при нажатии PrScr опять текстовое меню...
получается что только при включении работает как нужно...
Можно ли поправить прошивку под кварц 16 МГц?
Переделаю тогда сейчас кнопку ресет, чтобы отпускалась сама после двух циклов, может поможет
Под 16 МГц тоже сделаю, только не уверен, что будет успевать обработать прерывание, но, проверить стоит :)
Залил новую, сделал для кварцев 16,20,24,25,27МГц
Прикреплю сюда, чтобы далеко не листать :)
Если в глюке не будет реагировать на ресет с кнопкой - сообщите, там немножко подправить придется тогда.
Вложение удалено, используйте версию 5.5 на странице 20
oracleua
31.01.2016, 15:13
Переделаю тогда сейчас кнопку ресет, чтобы отпускалась сама после двух циклов, может поможет
Под 16 МГц тоже сделаю, только не уверен, что будет успевать обработать прерывание, но, проверить стоит :)
Залил новую, сделал для кварцев 16,20,24,25,27МГц
Прикреплю сюда, чтобы далеко не листать :)
Если в глюке не будет реагировать на ресет с кнопкой - сообщите, там немножко подправить придется тогда.
Прошивка работает аналогично как и другие..
но на кнопку+ресет реагирует...а так при включении нормально..
при ресете текстовое меню...
ну хоть кварц на 25 поставил..их много..а на 24 один..
Еще раз обновил, сделал ресет как в оригинале было.
oracleua
31.01.2016, 17:05
Еще раз обновил, сделал ресет как в оригинале было.
не помогло..печалька..
может при сбросе сигнал RDFE отключать???
понятно что без него ресет работает нормально..так как не работают остальные клавиши клавиатуры..
Именно так сейчас и сделал, попробуйте последний вариант, надеюсь поможет, если не поможет, тогда буду думать дольше :-D
oracleua
31.01.2016, 17:43
Именно так сейчас и сделал, попробуйте последний вариант, надеюсь поможет, если не поможет, тогда буду думать дольше :-D
Не получилось.при включении все нормально..после нажатия PrScr - ресет постоянно в нуле...комп висит..
Извиняюсь, моя невнимательность, при отпускании ресета сигнал оставался LOW, перезалил
oracleua
31.01.2016, 18:25
Извиняюсь, моя невнимательность, при отпускании ресета сигнал оставался LOW, перезалил
Вот теперь работает....Супер..дальше тестирую..
- - - Добавлено - - -
http://rghost.ru/private/6kJTlHzyx/59df8b5da0f603d46523e549d35b4b77
вот глюк..
самопроизвольное срабатывание клавиш..
управление в данной программе Q A Enter
и еще место музыки...бред...
на другом контролере все работает..
Это у вас случайно не турборежим? Если нет, попробуйте с кварцем 25 залить прошивки для 24 и 27 МГц, на какой лучше будет
oracleua
31.01.2016, 18:54
Это у вас случайно не турборежим? Если нет, попробуйте с кварцем 25 залить прошивки для 24 и 27 МГц, на какой лучше будет
турборежима нет.
вот еще..не могу зайти в DNA_OS
http://i.piccy_.info/i9/6b5dfd4a91eba1d27943b529306a5c41/1454255686/9504/995106/2016_01_31_17_53_12_240.jpg (http://piccy_.info/view3/9343776/be3b314cc3062b89bcbb3099d2a6d0cb/)http://i.piccy_.info/a3/2016-01-31-15-54/i9-9343776/240x180-r/i.gif (http://i.piccy_.info/a3c/2016-01-31-15-54/i9-9343776/240x180-r)
на другом контролере работает..
на 24 музыка нормально играет..но глюк с выбором остался..
с 27 аналогично как с 24...но пару раз получилось зайти в DNA_OS..а потом глюк..
Хорошо, тогда сейчас сделаю отдельную версию без цикла в прерывании под 25 МГц и выложу в этом сообщении
Вложение заменено на последнюю версию, чтобы далеко не листать
Вложение удалено, используйте версию 5.5 на странице 20
oracleua
31.01.2016, 19:28
Хорошо, тогда сейчас сделаю отдельную версию без цикла в прерывании под 25 МГц и выложу в этом сообщении
Сейчас попробую..
Кстати..загрузил прошивку V4...глюков нет..все работает..кроме сброса..(ври включении нужно нажать ресет)..
Если 4-ая работает, тогда всё ясно, сейчас сделаю что и пятая будет работать :)
oracleua
31.01.2016, 19:39
Хорошо, тогда сейчас сделаю отдельную версию без цикла в прерывании под 25 МГц и выложу в этом сообщении
Работает только ресет...остальные клавиши не работают..
С версии 5.1 хотелось сделать как лучше... но получилось как всегда, добавил обратно при инициализации заполнение буфера порта FE единицами для всех возможных 256 значений, если вдруг на шине адреса мусор.
oracleua
31.01.2016, 20:26
С версии 5.1 хотелось сделать как лучше... но получилось как всегда, добавил обратно при инициализации заполнение буфера порта FE единицами для всех возможных 256 значений, если вдруг на шине адреса мусор.
Прошивка работает..только не всегда при включении срабатывает ресет..(нужно на клавиатуре жать PrScr).
PrScr работает как нужно..
глюков пока не обнаружил..
Тогда всё, залил финальную версию, ресет должен начать работать как положено, спасибо за помощь с доработкой!
oracleua
31.01.2016, 20:42
Тогда всё, залил финальную версию, ресет должен начать работать как положено, спасибо за помощь с доработкой!
"""""Надо будет потом еще сделать клавиша+ресет (пробел+ресет напримет должен попадать в тырдос)""""----Пока делать не нужно..другой контролер ведет себя так само..
Но на данный момент пока все нормально работает..
Сейчас еще понял как нормально ресет сделать при старте, точнее отключить его на контроллере совсем при старте, а только при нажатии, сейчас у себя проверю и выложу
Перезалил, проверил, отлично работает!
Теперь выход /RES и двух других кнопок на старте идет в HI-Z состоянии, при нажатии переходит в LOW, при отжатии обратно в HI-Z
oracleua
31.01.2016, 21:34
Сейчас еще понял как нормально ресет сделать при старте, точнее отключить его на контроллере совсем при старте, а только при нажатии, сейчас у себя проверю и выложу
Перезалил, проверил, отлично работает!
Теперь выход /RES и двух других кнопок на старте идет в HI-Z состоянии, при нажатии переходит в LOW, при отжатии обратно в HI-Z
Работает..
еще глюк откопал..
если часто нажимать например - (между нулем и равно)
появляется J
то-же и с клавишей ;
но если держать то все нормально
http://i.piccy_.info/i9/b234470cdb3631f20634d1898fcbc94b/1454265229/5531/995106/2016_01_31_20_30_16_240.jpg (http://piccy_.info/view3/9344783/e1eae914d56c5a37fe1f86cdb3a0bbcd/)http://i.piccy_.info/a3/2016-01-31-18-33/i9-9344783/240x180-r/i.gif (http://i.piccy_.info/a3c/2016-01-31-18-33/i9-9344783/240x180-r)
У меня такой проблемы не наблюдается... странно...
Сделал еще одну альтернативную версию толерантную к шине данных, т.к. порт FE и так подтянут резисторами к единице, сделал, чтобы порт был в HI-Z состоянии, а ноль отправлялся только когда бит равен нулю, это соответствует работе реальной клавиатуры, так что я даже рекомендую использовать эту версию, чтобы энергопотребление было меньше.
Вложение удалено из-за недоработки, используйте версию 5.3
oracleua
31.01.2016, 22:50
У меня такой проблемы не наблюдается... странно...
Сделал еще одну альтернативную версию толерантную к шине данных, т.к. порт FE и так подтянут резисторами к единице, сделал, чтобы порт был в HI-Z состоянии, а ноль отправлялся только когда бит равен нулю, это соответствует работе реальной клавиатуры, так что я даже рекомендую использовать эту версию, чтобы энергопотребление было меньше.
Все работает..
но глюк остался пример с клавишами
http://i.piccy_.info/i9/acde74d9c80c7e274b3938374142aa62/1454268584/5271/995106/2016_01_31_21_28_47_240.jpg (http://piccy_.info/view3/9345084/a472b6e77605eef7ca9f35ca4fa44d57/)http://i.piccy_.info/a3/2016-01-31-19-29/i9-9345084/240x180-r/i.gif (http://i.piccy_.info/a3c/2016-01-31-19-29/i9-9345084/240x180-r)
- - - Добавлено - - -
А вот глюк на 48атмеге..
При передвижении по списку файлов...начинаеется редактирование названия...
Так на этом контролере до конца списка так и не дошел.
http://rghost.ru/67cKxylGC
Как то у вас странно, шифт почему-то иногда не срабатывает. Посмотрите на всякий случай подключения KA15 и KD1
PS: еще завтра посмотрю, там же Caps Shift, может его флаг нужно принудительно сбросить, завтра попробую. Хотя у меня и так нормально работает...
Не удержался и сделал :) С шифтом перестало работать совсем...
UPD: починил и перезалил.
PPS: если подглючивают иногда клавиши [, ], {, }, ~, то это нормально, т.к. там переключение в режим E, не всегда может успеть сработать, я подобрал оптимальную задержку, но изредка может проскакивать не то значение, в основном это проявляется в режиме Basic 48 когда набрано много символов, в режиме Basic 128 это не критично, т.к. там скорость обработки намного выше и неправильные значения вообще не вводятся.
PPPS: в 5.2 обнаружилась проблема в программе Crazy Test, не срабатывает нажатие клавиш после загрузки теста, пока что выясняю в чем проблема, как выясню будет 5.3
Как оказывается, некоторые программы выбирают сразу по несколько рядов с порта #FE... в оригинальной прошивке это было учтено, а я решил упростить, ну и как всегда получилось.... :-D
Вложение удалено из-за недоработки, используйте версию 5.3
oracleua
31.01.2016, 23:11
Как то у вас странно, шифт почему-то иногда не срабатывает. Посмотрите на всякий случай подключения KA15 и KD1
подключено нормально..
а вот клавиатуру я думаю стоит другую попробовать...завтра притяну...
а вот глюк на атмеге48 был и на двух разных клавиатурах....
Версия 5.3 исправлены проблемы одновременного опроса нескольких рядов
PS: данную версию возможно получится подключить даже без буфера на подтяжках ) т.е. можно из ZX убрать буфер порта #FE и подключить непосредственно к шине адреса и данных (не забыв при этом про вывод чтения порта FE):) но на живых экспонатах всё же не рекомендую, только на вновь собираемых
Вложение удалено, используйте версию 5.5 на странице 20
oracleua
01.02.2016, 20:00
Версия 5.3 исправлены проблемы одновременного опроса нескольких рядов
Работает замачательно.
Глюков пока не обнаружил.
http://i.piccy_.info/i9/b4f66981269ae49ce18115ada6641c45/1454349343/6699/998760/2016_02_01_19_52_04_240.jpg (http://piccy_.info/view3/9349434/00ff87fcbd302d58ac94016801075540/)http://i.piccy_.info/a3/2016-02-01-17-55/i9-9349434/240x180-r/i.gif (http://i.piccy_.info/a3c/2016-02-01-17-55/i9-9349434/240x180-r)
Опробовал на Скорпионе. В турборежиме клавиатура не работает. С раскладками непонятно - "RCtrl" выдаёт "=", ";" не работает, ещё некоторые непонятки с раскладкой.
Опробовал на Скорпионе. В турборежиме клавиатура не работает. С раскладками непонятно - "RCtrl" выдаёт "=", ";" не работает, ещё некоторые непонятки с раскладкой.
Какая частота кварца? Может МК не тянет? Попробуйте другой МК/Кварц, контакты думаю вы вряд ли перепутали, так что скорее всего не тянет. Сейчас еще схему скорпиона посмотрю, может там какие-то особенности есть. С турбо, в принципе, можно попробовать допилить, если заработает.
24МГц, без турбо работает. цифры и буквы вбиваются правильно, так что контакты не перепутаны. В прошлом году весной я (АЛЕКСЕЙ) на твоём сайте писал об этой же проблеме про турбо.
- - - Добавлено - - -
Есть ещё Атмега48V-10PU, если под неё перекомпилить прошивку, могу на ней проверить с кварцем 24 МГц
24МГц, без турбо работает. цифры и буквы вбиваются правильно, так что контакты не перепутаны. В прошлом году весной я (АЛЕКСЕЙ) на твоём сайте писал об этой же проблеме про турбо.
- - - Добавлено - - -
Есть ещё Атмега48V-10PU, если под неё перекомпилить прошивку, могу на ней проверить с кварцем 24 МГц
Тут проблема какая, раз он на Ctrl выдает = это значит он клавиатуру не всегда корректно успевает считать, тут можно попробовать залить прошивку для 25 МГц или для 20МГц, посмотреть, на какой будет корректно работать.
Атмега48V-10PU, в ней же прям указано, что 10PU, т.е. 10МГц макс рекомендуемая частота, не уверен что 24 потянет.
PS: прошивку сейчас сделаю, вдруг заработает...
Ну счас у меня атмега8-16PU на 24МГц работает, так что кто его знает, вдруг взлетит.
Сделал для Atmega48 20,24,25МГц, прошивка экспериментальная, не проверялась.
Еще по поводу = вместо RCtrl, скорее всего плавает частота, т.к. кейкод с префиксом E0 не успевает обработать
oracleua
02.02.2016, 00:48
Вопросик..
А сильно сложно переназначить ноги атмеги8 ???
Хочу минимизировать печатную плату...что-бы вставлялась в разъем пентагона...
(хочется минимум переходов на плате)
Вопросик..
А сильно сложно переназначить ноги атмеги8 ???
Хочу минимизировать печатную плату...что-бы вставлялась в разъем пентагона...
(хочется минимум переходов на плате)
Можно менять местами BTN1, BTN2, /RES
Можно /RDFE поместить на PD3, A10 на PD2, A11 двигать в пределах PC0-PC3, KD0-4, в принципе, можно сдвинуть на 1 пин, т.е. на PB1-PB5 с PB0-PB4, короче, всё что на порту C можно двигать куда угодно, порт B можно сдвинуть только на 1 бит, порт D можно только 1 бит переместить, один из INT должен быть под /RDFE
oracleua
02.02.2016, 00:57
Можно менять местами BTN1, BTN2, /RES
Можно /RDFE поместить на PD3, A10 на PD2, A11 двигать в пределах PC0-PC3, KD0-4, в принципе, можно сдвинуть на 1 пин, т.е. на PB1-PB5 с PB0-PB4, короче, всё что на порту C можно двигать куда угодно, порт B можно сдвинуть только на 1 бит, порт D можно только 1 бит переместить, один из INT должен быть под /RDFE
завтра посмотрю проект платы на работе...посмотрю как лучше..
Версия 5.4 для Atmega8, сильно существенных изменений нет
Используйте версию 5.5
oracleua
02.02.2016, 21:18
Версия 5.4 для Atmega8, сильно существенных изменений нет
Работает замечательно.
И еще..
Залил еще раз V4..
а на ней то работает комбинация например..пробел+PrScr и после ресета Тырдос..
комбинация U+PrScr .... Реал командер..
далее не проверял..
но работает..
Залил еще раз V4..
а на ней то работает комбинация например..пробел+PrScr и после ресета Тырдос..
комбинация U+PrScr .... Реал командер..
Тогда сейчас сделаю, что заработают эти комбинации (разумеется, что для их работы должен быть менеджер ПЗУ)
Добавил для Atmega8 и для Atmega48
oracleua
02.02.2016, 22:57
Тогда сейчас сделаю, что заработают эти комбинации (разумеется, что для их работы должен быть менеджер ПЗУ)
Добавил для Atmega8 и для Atmega48
Замечательно..работает...пр вда чуть не так...но меня например устраивает...
подробней..
комбинация U+PrScr .... Реал командер..
пробел+PrScr вместо тырдоса (хотя пару раз попадал в него) загрузка с диска (у меня дна ос)..
вот фото комбинаций
http://i.piccy_.info/i9/f02c3b3d776f2af1a8bf8d25ad860959/1454443614/12328/998760/2016_02_02_22_04_50_240.jpg (http://piccy_.info/view3/9354932/12e535de51a593f0b8d5280044832179/)http://i.piccy_.info/a3/2016-02-02-20-06/i9-9354932/240x180-r/i.gif (http://i.piccy_.info/a3c/2016-02-02-20-06/i9-9354932/240x180-r)
Замечательно..работает...пр вда чуть не так...
А в 4 версии работает как надо? Я могу сделать, чтобы было как в 4 версии
oracleua
02.02.2016, 23:39
А в 4 версии работает как надо? Я могу сделать, чтобы было как в 4 версии
пробел+PrScr и после ресета Тырдос точно работает..
но мне лучше как есть..
Кстати, в турборежиме может заработать с кварцем 32МГц, но оооочень редкие контроллеры могут с ним завестись, а вот от внешнего генератора вполне себе могут, в этом случае фьюзы будут -U lfuse:w:0xD0:m -U hfuse:w:0xCF:m
внешний генератор подключается к PB6 (это фьюзы для Atmega8)
PS: и еще раз поясню, почему не нужны конденсаторы на кварц в данном варианте, если посмотреть даташит на атмегу8 "By programming the CKOPT Fuse, the user can enable an internal 36pF capacitor between XTAL1 and GND, and XTAL2 and GND." Т.е. если фьюз CKOPT включен (а в приводимых в readme.txt фьюзах он включен), то включаются внутренние конденсаторы на 36пФ, но это относится только к Atmega8, для 48, возможно придется ставить.
Выложу еще раз ссылки для скачивания версии 5.5
Для полноты картины добавлю еще для Atmega328p, если кто-то хочет раздербанить ардуину :-D
oracleua
04.02.2016, 00:35
Привел в нормальный вид контролер..
заработал сразу..
немного фото
http://i.piccy_.info/i9/8fe85bff683c44a3a905be7f29545996/1454535264/8727/998760/2016_02_03_22_59_08_240.jpg (http://piccy_.info/view3/9360620/0d23d87fca741ddaa44ac4ebe292f4f9/)http://i.piccy_.info/a3/2016-02-03-21-34/i9-9360620/240x180-r/i.gif (http://i.piccy_.info/a3c/2016-02-03-21-34/i9-9360620/240x180-r)
http://i.piccy_.info/i9/a262ad2faa9a1bac8a94ade854e2ae9a/1454535288/7679/998760/2016_02_03_22_59_22_240.jpg (http://piccy_.info/view3/9360624/3871030c291737f579fc7c21f59a83e2/)http://i.piccy_.info/a3/2016-02-03-21-34/i9-9360624/240x180-r/i.gif (http://i.piccy_.info/a3c/2016-02-03-21-34/i9-9360624/240x180-r)
http://i.piccy_.info/i9/cb37d0209e3e83dc584ea9f3e8eb5baa/1454535312/12436/998760/2016_02_03_23_31_15_240.jpg (http://piccy_.info/view3/9360628/30212528e102d8e5b9bb3c787a6fd53c/)http://i.piccy_.info/a3/2016-02-03-21-35/i9-9360628/240x180-r/i.gif (http://i.piccy_.info/a3c/2016-02-03-21-35/i9-9360628/240x180-r)
Прошива от 328 пойдёт на 168-ю мегу?
Прошива от 328 пойдёт на 168-ю мегу?
Вот
marinovsoft
19.02.2016, 19:39
Нужна ли развязка при одновременном использовании как родной, так и PC клавиатуры через контроллер? Достаточно ли будет диодов на линию данных?
Да вроде как не нужна, и диоды вроде как тоже не нужны, т.к. данные контроллером не читаются, только пишутся, а т.к. пины в HI-Z (те что единица, а те что ноль в нуле) то им ноль от родной клавиатуры не страшен.
PS: купил вчера новую клавиатуру Defender PS/2, с ней не хочет работать, со старыми всеми работает, буду думать в чем там проблема... может с другими таймингами прошить попробовать... в смысле от другого кварца...
Заработала, но качество г.... вывод, не покупайте дешевые китайские клавиатуры даже для забавы :)
brian4ever
28.02.2016, 11:56
С этим контроллером никак на могу набрать ERASE в бейсике. FORMAT, CAT и POINT смещены в верхней строке на одну позицию вправо, Нажимаю POINT набирает BRIGHT, нажимаю ERASE набирает MOVE. Как быть?
Попробуй с кнопкой [' " Э]
Поясню: на спектруме эта команда вводится как апостроф [SS/7], но в режиме E. Так и тут - тебе надо ввести апостроф [" '] в режиме E.
Да, есть такая проблема, сам не смог ввести :) постараюсь исправить на днях
PS: смещены, потому что я делал для удобства ввода символов на цифрах с шифтом, особенно актуально для ввода текстов и в 128 бейсике. Проще наверное на отдельную кнопку повесить :) И еще надо будет перевод в E режим для ввода символов | и \
Ммм... А нет в планах провернуть подобный проект для ZXMC2? Хотя бы с переходом автоматом в Е режим? Кстати, он там реализуется именно в прошивке или заданием кодов в раскладке?
Там в прошивке третья таблица для клавиш с E режимом, перед нажатием фактически нажимается CapsShift+SymbShift, после этого жмется клавиша, работает нормально, в Basic48, если уже набрано много символов в одной строке, то может подглючивать. Если бы Е режим можно было отслеживать так же как С режим, то было бы гораздо проще... Насчет ZXMC даже не знаю, я же по сути просто дизассемблировал прошивку из первых постов и переделал (упростил, доработал).
Про третью таблицу я в курсе. Но вот именно отправка "нажатия" CapsShift+SymbShift для перехода в режим Е реализуется самой прошивкой? Изменением таблицы раскладки этого не добиться?
Нажатие E реализуется в прошивке, но это делается если для клавиши задействована таблица KEYTABLE_ALT, и в коде прописано + EM,
например клавиша "[" для нее прописано EM+SS+KEY_A, т.е. переход в E и затем нажатие SymShift + A
Сейчас в таблице 22 значения, т.е. можно добавить еще 10 значений с кодом E прописав в основную таблицу для клавиши ALT1+X, где X - номер строки в таблице KEYTABLE_ALT (нумерация с нуля)
А таблица KEYTABLE_ALT2 нужна для изменения раскладки клавиш при нажатом NumLock
brian4ever
01.03.2016, 21:01
Получилось. Так и запомним Э-Эрайз!
Для тех, у кого блок питания от компьютера, рекомендую продублировать строку
rcall LONG_WAIT_50 ; вызов подпрограммы длинного цикла ожидания инициализации клавиатуры
еще один-два раза, т.к. контроллер не всегда успевает инициализироваться пока БП раскочегарится на полную :) Работать начинает только после вкл/выкл.
oracleua, Печатки в lay случайно не завалялось?
oracleua
23.03.2016, 08:47
oracleua, Печатки в lay случайно не завалялось?
http://rghost.ru/6T5mCMM7H
oracleua
23.09.2016, 16:58
А вот такой вопросик..
А как подключать к клонам на БМК...???
Например Атас-48..
Чтобы не городить на логике отдельно порт FE...
Что-то мне подсказывает, что никак не обойтись без #FE, т.к. из внутренностей БМК буфер никак не вытащить, чтобы взять с него этот сигнал :)
oracleua, Такой вопрос-ни одна клава не работает, нет "шевеления" на линиях КАхх. В меге включены подтягивающие резюки по входу? Да, пробовал подключать и к первому ленину и к интеру (кванту). F11, F12 reset фунциклируют. Из пяти клав только 3 как-то отзываются. В контроллер ставил кварц 25.000 (не гармониковый), мега 168.
Можно ли увидеть исходник?
oracleua
22.11.2016, 00:25
oracleua, Такой вопрос-ни одна клава не работает, нет "шевеления" на линиях КАхх. В меге включены подтягивающие резюки по входу? Да, пробовал подключать и к первому ленину и к интеру (кванту). F11, F12 reset фунциклируют. Из пяти клав только 3 как-то отзываются. В контроллер ставил кварц 25.000 (не гармониковый), мега 168.
Можно ли увидеть исходник?
Это вопрос к EvgenRU.
Я только повторил контролер.
EvgenRU, Такой вопрос-ни одна клава не работает, нет "шевеления" на линиях КАхх. В меге включены подтягивающие резюки по входу? Да, пробовал подключать и к первому ленину и к интеру (кванту). F11, F12 reset фунциклируют. Из пяти клав только 3 как-то отзываются. В контроллер ставил кварц 25.000 (не гармониковый), мега 168.
Можно ли увидеть исходник?
Извиняюсь за задержку с ответом, много работы...
Исходник же есть в архиве с прошивкой, на ассемблере под AVR Studio 5.1 (если нет, смотрите последнюю прошивку в теме, там всё есть)
В архиве прошивки под различные кварцы, кварц нужно ставить такой, как указано в названии прошивки, можно попробовать другие частоты, если с текущим кварцем нет сигнала, т.к. на высоких частотах не все МК могут нормально работать. В крайнем случае, попробуйте подать частоту от генератора какого-нибудь. Еще, можно попробовать параллельно кварцу поставить резистор на 1 МОм.
Подтяжек наоборот нет в последних версиях, я ранее объяснял почему, т.к. используется Z-состояние, чтобы не засорять ШД, поэтому не нужны диоды и подтяжки. Нужна подтяжка только на самой ШД, но она почти во всех спектрумах есть.
На всякий случай продублирую ссылки на последние прошивки.
EvgenRU, Никак не получается запустить контроллёр. Пробовал и от кварца и от внешнего генератора (27 МГц), меги менял на заведомо "взлетающие" на 27МГц. Если на /rdfe подать просто iorq, на КДхх появляется реакция на клавиши.Буфер в компе менял на АП6 и на ИР22 (как в пент. 48) и совсем убирал. Родная мех. клавиатура работает. Такое ощущение что контроллер не успевает "подхватить" сигнал /RDFE (/key) в данной схеме. Уже все мысли закончились.
По схеме с шиной адреса вроде всё нормально, совпадает с моей, а вот буфер данных порта клавиатуры выглядит как-то иначе, у вас там инверторы стоят от клавиатуры... как-то меня это смущает... и E на DD29 к земле присоединен, судя по всему получается что у вас инвертированный сигнал идет. Можно попробовать добавить инвертирование в прошивку или переделать этот буфер...
Если что, в прошивке нужно в INT0_Handler добавить после
ldd r20,Y+0x00
команду инвертирования
com r20
EvgenRU, Там два инвертора DD26 и DD29-на выходе всё ок. Я имел в виду что "реакция" на нажатия на линиях KDxx контроллера появляется когда вместо /RDFE подключаю /IORQ, комп конечно же зависает, на ШД-то бардак. Я не могу разобраться почему контроллер не отрабатывает приход /RDFE? Возможно ли что импульс /RDFE слишком короткий или длинный?Контрорллёр удерживает линию KDxx до снятия /RDFE или просто "выплёвывает" туда данные? А можно ли увидеть вашу схему? Как там формируется /RDFE ?
Когда /RDFE переводится в 0, в контроллере срабатывает прерывание и он считывает линию адреса на двух портах (ноги контроллера на 2 портах расположены), потом склеивает биты двух портов в 1 байт, по этому байту берет данные из подготовленной таблицы, выкидывает на линию данных и ждет пока /RDFE не станет 1.
Т.к. он работает по прерыванию INT0 (это в атмеге), то обработка /RDFE происходит очень быстро, не успевать оно не может, разве что в турборежиме 14МГц,
тогда просто может срабатывать 2 прерывания подряд и контроллер зависнет. Можно попробовать поставить cli и sei в начале и конце прерывания соответственно.
У меня Кворум БК-04, схема есть в соответствующем разделе (правда я там удалил порт 7E, за ненадобностью).
PS: еще что подумалось... вы куда шину данных контроллера подключаете? надеюсь до инвертора, туда где подтяжки стоят? А то в этой прошивке нет Лог 1, только Z состояние
Народ, помогите подключить сей девайс к Scorpion ZS256 (Желтая плата, не турбо), собран по этой схеме:
http://www.avray.ru/wp-content/uploads/2014/10/zx-kbd.png
Однако непонятно откуда и как брать /RDFE
На схеме скорпиона этот участок выглядит так:
https://pp.vk.me/c638122/v638122224/2061a/dHxomeGxjUw.jpg
Пробовал на ATMEGA8A-PU и ATMEGA328P-PU все в DIP28 и кварцы 20 и 24МГц версия прошивки 5_5
Причем F11, F12 и PrintScreen - отрабатывают отлично а вот все остальное молчит(
djspawn, смотри тут:
http://zx-pk.ru/threads/17270-kontroller-klaviatury-dlya-quot-pentagon-128-quot-na-atmega8-48-88-168-328.html?p=612385&viewfull=1#post612385
http://zx-pk.ru/threads/17270-kontroller-klaviatury-dlya-quot-pentagon-128-quot-na-atmega8-48-88-168-328.html?p=616282&viewfull=1#post616282
Выходит на KL линии надо ставить еще диоды? и на лл1 заводить 1 - A0, 2 - /CSK, 3 - брать /RDFE?
Это зависит от схемы, по которой ты делаешь. В схеме от EvgenRU у меня работало и без них.
Как минимум для работы тебе надо сделать сигнал RDFE, в скорпионе его нет. Да, его ты получишь из A0 и /CSK на лл1.
Это зависит от схемы, по которой ты делаешь. В схеме от EvgenRU у меня работало и без них.
Как минимум для работы тебе надо сделать сигнал RDFE, в скорпионе его нет. Да, его ты получишь из A0 и /CSK на лл1.
Делаю по схеме от EvgenRU, взял 1533ЛЛ1, 1-A0, 2-/CSK, 3- беру /RDFE, шил и на ATMEGA8A-PU и на ATMEGA328P-PU, ставил кварц и 24 и 20МГц - F11, F12, PrtSc - отрабатывают, а вот остальные кнопки - молчат(, куда рыть - незнаю, возможно проблема в ШД, попробую сегодня подятжку резюками сделать на BA линии (ибо там нет подятжки нежели по схеме в первом посту по 10к на +5В):
https://pp.vk.me/c837726/v837726224/1b621/58aEGglNbR0.jpg
по схеме на KL там есть подтяжка:
https://pp.vk.me/c637320/v637320224/2b644/gz5DIDUOiJQ.jpg
и на KL линии поставить диоды.
я по его схеме делал но новодельном скорпионе (из подписи), с отключенной турбой всё работало. Но я делал ещё на первых прошивках
В скорпионе адресная шина сама подтянута к питанию, так что не уверен, что линиям ВА она отдельно сильно необходима. Ну и так как в скорпионе фактически идёт связь с выхода D44/D45 на вход D36/D37, то и там обязательность диодов сомнительна.
Эту версию контроллера я подключал ещё в начале 15 года, прошивка скорее всего была версии 2. Можешь попробовать с ней: http://www.avray.ru/ru/zx-spectrum-ps2-keyboard/
Если запустится, можно пробовать новые, может в них дело.
я по его схеме делал но новодельном скорпионе (из подписи), с отключенной турбой всё работало. Но я делал ещё на первых прошивках
В скорпионе адресная шина сама подтянута к питанию, так что не уверен, что линиям ВА она отдельно сильно необходима. Ну и так как в скорпионе фактически идёт связь с выхода D44/D45 на вход D36/D37, то и там обязательность диодов сомнительна.
Эту версию контроллера я подключал ещё в начале 15 года, прошивка скорее всего была версии 2. Можешь попробовать с ней: http://www.avray.ru/ru/zx-spectrum-ps2-keyboard/
Если запустится, можно пробовать новые, может в них дело.
Сегодня буду пробовать все предложенные варианты, после отпишу, спасибо)
Значит запустил я сей девайс (ATMEGA8A-PU v5_5 и v2, остальные не проверял) с резюками и диодами на 20МГц, причем прошивка для 24МГц на самом кварце - 24МГц - не работает, а запустилась на кварце в 20МГц, так же прошивка для 20Мгц - нармально работает на "родном" кварце, однако инициализация клавы (может я чего-то не прочел) происходит в два этапа(иначе не работает):
1. Включение скорпа (на клаве моргают диоды одновременно и гаснут), затем жду пока пройдет селфтест скорпа и отработает (открутит) дисковод.
2. Нажимаю на клаве Enter - происходит "вторая инициализация клавы" - загораются все три диода, и через секунду гаснет только CapsLock, вот только тогда клава начинает работать.
Ну и фото(пока только на макетке):
https://pp.vk.me/c837726/v837726224/1bc96/_e1U4iZUwnc.jpg
Т.е. условно работает. проверь как будет только без подтяжки, только без диодов и без всего.
С жёлтым скорпионом я запускал оригинальный вариант контроллера, с оригинальной прошивкой. Тоже пришлось кварц менять.
Но такой двойной инициализации на "урезанном" варианте контроллера не припоминаю, вроде не было. Там у меня были другие печальные грабли, которые так и не решились.
Т.е. условно работает. проверь как будет только без подтяжки, только без диодов и без всего.
С жёлтым скорпионом я запускал оригинальный вариант контроллера, с оригинальной прошивкой. Тоже пришлось кварц менять.
Но такой двойной инициализации на "урезанном" варианте контроллера не припоминаю, вроде не было. Там у меня были другие печальные грабли, которые так и не решились.
Вечером буду пробовать (и/или) без диодов и резюков. Отпишу результаты. Но после такой "двойной инициализации" - клава работает отлично, вроде глюков не замечено.
Gutten, может у тебя есть схема турбы для желтка или знаешь где нарыть?
Не, у меня нету. Ты поищи в разделе Scorpion, может что найдёшь.
- - - Добавлено - - -
Ты хочешь сделать турбу к этому же скорпу? Тогда этот контроллер может не заработать, у меня это так и не решилось. Хотя была мысль сменить ZXMC2 на него, чтобы обратно заиметь синклер-джойстики.
Не, у меня нету. Ты поищи в разделе Scorpion, может что найдёшь.
- - - Добавлено - - -
Ты хочешь сделать турбу к этому же скорпу? Тогда этот контроллер может не заработать, у меня это так и не решилось. Хотя была мысль сменить ZXMC2 на него, чтобы обратно заиметь синклер-джойстики.
Плохо. Может и без турбы обойдусь) - посмотрим.
Господа помогите, собрал контролер клавиатуры. Все работает, кроме клавиш qwert. Почему-то 26нога контролера постоянно в нулевом состоянии. Куда копать: прошивка кривая или Фузы или что-то еще?
Господа помогите, собрал контролер клавиатуры. Все работает, кроме клавиш qwert. Почему-то 26нога контролера постоянно в нулевом состоянии. Куда копать: прошивка кривая или Фузы или что-то еще?
Уточните, какая прошивка, МК, частота кварца посмотрю прошивку (если конечно не оригинал), ну и модель к которой подключаете тоже не мешало бы.
26 нога это нога адреса (A10), она должна быть в Pull-Up состоянии и слушать адрес, может у вас KA10 не проходит как-то...
Прошивка KBD13_48nw.hex, Контролер atmega88pa, кварц 20Mhz, Pentagon-128 classic, Да 26 нога это адрес линии кнопок qwert. Она почему-то не слушает, а выдает логический ноль. Без контролера клавиатура (обычные кнопки) на Pentagone нормально работает проверено.
Есть версия этого контроллера клавиатуры для ATmega8? В названии темы этот контроллер присутствует, но прошивки для него я не нашёл. Или можно использовать прошивку от других контроллеров, перечисленных в названии темы?
Есть версия этого контроллера клавиатуры для ATmega8? А названии темы этот контроллер присутствует, но прошивки для него я не нашёл. Или можно использовать прошивку от других контроллеров, перечисленных в названии темы?
Как это нет, здесь в архиве (http://zx-pk.ru/threads/13770-kay-1024-sl-4-turbo-v2010-nemofdc-nemoide.html?p=518612#post518612).
Продублирую еще раз свои прошивки
PSA800611
25.04.2017, 18:29
Всем привет!
Что-то я запутался совсем...
В начале темы одна схема (с 555лл1), выше в архиве другая (без лл1)...
Подскажите для пентагона-128 по какой схеме собирать и какой прошивкой шить?
Спасибо.
Можете шить моей, насчет лл1... на DD11, на 22 ноге вроде есть сигнал аналогичный /RDFE, но, если вдруг нет, то поставьте лл1 и сформируйте этот /RDFE, но вроде он там есть на 22 ноге...
В начале темы старая оригинальная прошивка, я выложил свои модифицированные сделанные дизассемблированием и допиливанием оригинала, причем я их выложил с исходниками :) еще + что не нужны резисторы и диоды.
PSA800611
26.04.2017, 08:31
А что за сигналы /BTN1, /BTN2 ?
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot