ZXUnoPS2 en arduino, fuentes y binario.

Proyectos ajenos al equipo oficial pero desarrollados o promovidos por la comunidad, relacionados con el ZX-UNO / Projects outside the official team but developed or promoted by the community, related to the ZX-UNO
Avatar de Usuario
spark2k06
Mensajes: 1188
Registrado: 12 Feb 2016, 13:58

Re: RE: Re: ZXUnoPS2 en arduino, fuentes y binario.

Mensaje por spark2k06 » 19 Oct 2017, 11:16

yoxxxoy escribió:La combinación CS+SS+SPACE devuelve .cfgflashed
:roll:
Lo revisaré, esa combinación no debería hacer nada pero podría ser que se produzca ghosting con la Z, la letra que sirve para dicha función en combinación con CS+SS.

Enviado desde mi Thor mediante Tapatalk

Avatar de Usuario
spark2k06
Mensajes: 1188
Registrado: 12 Feb 2016, 13:58

Re: ZXUnoPS2 en arduino, fuentes y binario.

Mensaje por spark2k06 » 19 Oct 2017, 12:50

Y efectivamente es debido a ghosting, voy a ser más gráfico:

Imagen

Tiene alguna función concreta la pulsación de CS+SS+SPC en el spectrum? Ha sido sin querer o puede ser algo común? En cualquier caso, haré un fix para que dicha función (CS+SS+Z) sólo funcione si no se encuentra SPC pulsada, si váis detectando mas ghostings conflictivos decidme para contemplarlos en una única actualización.

Gracias!

Avatar de Usuario
yoxxxoy
Mensajes: 25
Registrado: 23 Sep 2016, 23:15
Ubicación: inst:@yoxxxoy
Contactar:

Re: ZXUnoPS2 en arduino, fuentes y binario.

Mensaje por yoxxxoy » 19 Oct 2017, 13:00

Que yo sepa no tiene ninguna función CS+SS+SPACE En spectrum. Me salió por casualidad intentando otra combinación y me llamó la atención el dotcommand

Vanfanel
Mensajes: 276
Registrado: 16 Oct 2016, 15:50

Re: ZXUnoPS2 en arduino, fuentes y binario.

Mensaje por Vanfanel » 19 Oct 2017, 15:08

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 :)

Avatar de Usuario
spark2k06
Mensajes: 1188
Registrado: 12 Feb 2016, 13:58

Re: ZXUnoPS2 en arduino, fuentes y binario.

Mensaje por spark2k06 » 19 Oct 2017, 15:20

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.

Avatar de Usuario
Uto
Mensajes: 1394
Registrado: 17 Dic 2015, 16:39

Re: ZXUnoPS2 en arduino, fuentes y binario.

Mensaje por Uto » 19 Oct 2017, 15:42

El principal problema de las múltiples combinaciones son los juegos multijugador. Por ejemplo si juegas a dobles con ambos jugadores en teclado, los jugadores tienden a usar las teclas de cada lado, por ejemplo yo siempre jugaba con 1QAS+CS y tengo un amigo que jugaba con 0OKL+SS. Aunque no elijas estrictamente hablando CS o SS, existe la posibilidad de pulsarlas por error (puedes poner la Z, el espacio o la M, pero están muy cerca).

Por eso yo a Neuro le pedí en su día que para el Go+ pusiera la combinaciones de teclas usando teclas centrales del teclado (H, G, B, N, Y) y no laterales como (Q, A,O, P, 1, L K, M). El otro día jugué con ese amigo al Match Day II... y no sé que leches pasaba que me iba mal, hasta que he caido ahora mismo: CS+SS+Q=F11, y CS+SS+1=F1, es decir, cada vez que yo estaba pulsando hacia arriba o abajo y ambos estabamos pulsando el disparo (tipico de querer engancharla segun cae) en lugar de 1/Q se mandaba F1/F11 probablemente.

Sinceramente no sé la utilidad de las teclas de función en el teclado de Spectrum, la única soportada por el core es F2 para Edit, y es mucho más fácil hacer CS+1 que CS+SS+2. Y desde luego ni F11 ni F12 hacen falta para nada. Yo las quitaría.Creo que el TBBlue sí que se usaba alguna de esas, pero yo las mapearia en ese caso más centradas (la E y la R al menos).

Avatar de Usuario
spark2k06
Mensajes: 1188
Registrado: 12 Feb 2016, 13:58

Re: ZXUnoPS2 en arduino, fuentes y binario.

Mensaje por spark2k06 » 19 Oct 2017, 15:51

Pues se podrían quitar para Spectrum, estoy de acuerdo contigo, otra alternativa a nivel global con la que mataríamos dos pajaros de un tiro y que de entrada evita posibles problemas con ghostings sería la siguiente:

Al igual que con CS+SS+U se queda a la espera de eleccion de modo de teclado, podríamos elegir otra combinacion CS+SS poco o nada conflictiva (por ejemplo F) para que se quede a la espera de la tecla final de las actuales CS+SS restantes (entre ellas las teclas de función F1-F12). De este modo solo tendríamos dos combinaciones CS+SS iniciales lo que reduciríamos la posibilidad de conflictos con un uso normal del teclado.

Avatar de Usuario
Uto
Mensajes: 1394
Registrado: 17 Dic 2015, 16:39

Re: ZXUnoPS2 en arduino, fuentes y binario.

Mensaje por Uto » 19 Oct 2017, 16:21

spark2k06 escribió:Pues se podrían quitar para Spectrum, estoy de acuerdo contigo, otra alternativa a nivel global con la que mataríamos dos pajaros de un tiro y que de entrada evita posibles problemas con ghostings sería la siguiente:

Al igual que con CS+SS+U se queda a la espera de eleccion de modo de teclado, podríamos elegir otra combinacion CS+SS poco o nada conflictiva (por ejemplo F) para que se quede a la espera de la tecla final de las actuales CS+SS restantes (entre ellas las teclas de función F1-F12). De este modo solo tendríamos dos combinaciones CS+SS iniciales lo que reduciríamos la posibilidad de conflictos con un uso normal del teclado.
Yo eso ya lo veo un poco restrictivo, quizá una cosa a medio camino podría ser que CSS+F (CSS= CS+SS) rote entre tres sub-modos:

1) Por defecto, modo medio, que soporte las combinaciones básicas (Y, B, N, G) y nada más.
2) Modo full: el actual, funcionan todas las combinaciones, teclas de funcion incluidas, la V, etc.
3) Modo puro: solo funcionaría la F, para cambiar al siguiente modo.

Si además al cambiar de modo manda el texto .default, .full, .pure pues mejor que mejor.

Avatar de Usuario
spark2k06
Mensajes: 1188
Registrado: 12 Feb 2016, 13:58

Re: ZXUnoPS2 en arduino, fuentes y binario.

Mensaje por spark2k06 » 19 Oct 2017, 16:27

Uto escribió:Yo eso ya lo veo un poco restrictivo, quizá una cosa a medio camino podría ser que CSS+F (CSS= CS+SS) rote entre tres sub-modos:

1) Por defecto, modo medio, que soporte las combinaciones básicas (Y, B, N, G) y nada más.
2) Modo full: el actual, funcionan todas las combinaciones, teclas de funcion incluidas, la V, etc.
3) Modo puro: solo funcionaría la F, para cambiar al siguiente modo.

Si además al cambiar de modo manda el texto .default, .full, .pure pues mejor que mejor.
Tiene sentido, me lo apunto y aprovecho a meter el cambio de teclas BORRAR <-> BREAK bajo demanda a través del config.h, y por defecto sin intercambio, tal como está ahora. :okidoki;

Iba a ser la última release, pero con el fín de evitar sobre todo conflictos con el uso normal del mismo tiene todo el sentido. :teclando..:

Avatar de Usuario
spark2k06
Mensajes: 1188
Registrado: 12 Feb 2016, 13:58

Re: ZXUnoPS2 en arduino, fuentes y binario.

Mensaje por spark2k06 » 19 Oct 2017, 18:59

Voy a dar un margen de tiempo por si salen otras ideas antes de ponerme con ello para aprovechar esta nueva release, de manera que si alguien echa de menos alguna funcionalidad que no tiene actualmente, la valoramos.

Enviado desde mi Thor mediante Tapatalk

Responder