Vanfanel escribió:Hola, spark2k06, muchas gracias por tu trabajo en este firmware para el teclado via arduino!
Tengo un ZX UNO GO+ desde hace un par de semanas, y me gustaría saber qué ventajas prácticas ofrece tu firmware sobre el que trael el GO+, ya que leyendo el hilo no me queda muy claro. Disculpad las molestias: igual estaría bien poner estas ventajas en el primer post del hilo, para que la gente no pregunte lo mismo
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.
-> 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+Z.
-> 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).
Dicho lo cual, si el principal uso que le vas a dar al mismo es el core de Spectrum, estos cambios no son interesantes porque te funcionará igual. Si por el contrario usas a menudo otros cores, estos cambios suponen una mejora significativa respecto al firmware original.
Me parece correcto añadir esta información al post inicial, luego lo llevaré a cabo.
Gracias por tu interés.