Поддержка мышки в стм (Вернее в той библиотеке которую использую) уже есть, геймпада пока нет.
Насчет сделать USB выносным: можно не запаивать разъем на плату и проводками соединить.
- - - Добавлено - - -
Я писать поддержку хабов не буду.
Вид для печати
Есть два предложения, продублировать пины USB, что бы можно было удлинить или подключить разъём другого форм-фактора, типа:
https://i.postimg.cc/fRWvHWP1/USBRECEPTACL.jpg
Второе предложение расположить пины клавиатуры, совместимыми с ZX Evolutuion, что бы можно было напрямую посадить плату на штырьки:
https://i.postimg.cc/dVT0crgC/image.png
https://i.postimg.cc/cJ0Gk3W0/image.png
Впрочем дело конечно ваше
1. Чтобы подключить wait нужно вносить изменения в схему спека - мне не подходит. cpld не костыль, а вполне обоснованное решение.
2. Можно конкретную марку\модель?
- - - Добавлено - - -
Уже есть в планах.
Там нет питания и NMI, все равно придется тянуть проводок. Идея сделать совместимым хорошая.
если не подводит память то у скорпа magic замыкается на `землю`, на Пентагоне на M1
с этим проблем не возникнет ?
если делать совместимо с ZX-Evo, то предлагаю сделать как на ZiFi - на платке можно поставить доп. контакты для питания и NMI:
http://tetroid.nedopc.com/ZiFi_J_edge_revC.JPG
http://tetroid.nedopc.com/ZiFi_J_edge_revC_brd.JPG
А вот и нет! У STM32F407 в корпусе от 100 ног и более - их два. И оба можно использовать как хосты для подключения устройств (без внешнего обвеса, вернее - только с обвязкой самого порта). У себя реализовывал такой подход, работало стабильно (проверял на клавиатуре и USB-флешке).
Поэтому и написал задержку конкретно в тактах, а не в попугаях... А в команды процессора уже программист пересчитывает, а не я...
Кстати, насчёт Скорпиона, там 6-ю тактами не обойтись. У него на запрос клавиатуры в схеме большая задержка сделана. Вариантов решения несколько:
- заменить D32 К555ЛИ1 на более быструю серию, например КР1531ЛИ1 (самое простое решение)
- брать сигнал запроса клавиатуры до D32, а не после (ещё более простое решение)
- писать обработчик прерывания мк в 4-5 тактов, это возможно при соответствующей схемотехнике (нужен схемотехник/программист с прямыми руками)
- повышать частоту микропроцессора
- использовать wait (так делали сами скорпионовцы в свойм контроллере клавиатуры и мыши)
- изменить схему скорпиона для уменьшения времени запроса клавиатуры (самое правильное решение)