Abro nuevo hilo para tener localizado en un mismo sitio código y binarios referentes al control del ZXUno mediante teclado desde Arduino, por ejemplo para el ZXGo+ o un teclado externo de spectrum adaptado simplemente con un arduino dentro, para conectar a un ZXUno. Igualmente servirá para centralizar todas las dudas, problemas, revisiones, etc... relativos al mismo.
El proyecto queda en principio dividido en dos ramas, una que la mantiene neuro:
https://github.com/neurorulez/zx1ps2/tr ... /MultiCore
y la mía, fork de la anterior:
https://github.com/spark2k06/zxunops2
Guía de uso, por jsj:
https://github.com/jsanjose/ZXGO-Manual
Partiendo de la base de que no tiene menos funcionalidades que el original y que a día de hoy tampoco le veo inconvenientes respecto al mismo, las ventajas serían las siguientes:
-> Mejora del proceso de interceptación de teclas pulsadas y soltadas por la matriz de teclado, incluyendo la combinacion de CAPS y SYMBOL por cada tecla para facilitar su gestion en modos distintos al de ZXSpectrum. Esta mejora ha permitido eliminar la anterior gestion y simplificarla, evitando asi pausas entre teclas cuando se usan junto con CAPS o SYMBOL.
-> Antighosting de CAPS y SYMBOL en cores distintos al de ZXSpectrum.
-> Posibilidad de ver la version de firmware con CAPS+SYMBOL+V en cualquier modo, incluido el de ZXSpectrum.
-> OPQA mapeado en cursores para el modo PC:
-> Posibilidad de ser usado con teclados +2A/+2B/+3:
-> Nueva funcion para almacenar el estado actual de modo de teclado en la EEPROM del atmega, y este sea cargado por defecto al conectarlo. Muy util si se quiere dejar durante el arranque del ZXUno un core por defecto distinto al del ZXSpectrum. A esta funcion se accede mediante el combo CAPS+SYMBOL+X.
-> Nuevas funcionalidades para el modo de teclado PCXT:
-------> Funcion tipematica simulada (aunque mejorable mediante interrupciones y tiempos precisos). Necesaria para el core de PCXT y muchos conversores comerciales de PS/2 a USB. Si estos no la necesitan no pasa nada porque sera ignorada por el mismo, ya que los teclados PS/2 convencionales funcionan de esta manera.
-------> Deshabilitacion de escucha de comandos una vez inicializado el teclado. Aunque la escucha permanece activa si se estan recibiendo comandos echos (algunos conversores comerciales de PS/2 a USB lo requieren para su correcto funcionamiento). La escucha activa de comandos es especialmente problematica con el uso simultaneo de otro teclado.
-------> Si se va a usar como teclado externo, es importante haber guardado previamente en la EEPROM el modo de teclado PCXT, ya que sólo este modo dispone de escucha activa temporal hasta la inicializacion del mismo.
-------> Si se va a utilizar un conversor comercial de PS/2 a USB, es importante que sea de tipo activo, ya que los pasivos solo funcionaran con teclados duales (estos en su firmware son capaces de identificar y controlar tanto PS/2 como USB).