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
ManuFerHi
Mensajes: 752
Registrado: 15 Nov 2015, 17:50

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

Mensaje por ManuFerHi » 15 Sep 2017, 15:35

spark2k06 escribió:
ManuFerHi escribió:Hay algo curioso en el comportamiento en general del teclado zxuno, del PS2 me refiero, en el test de bios se puede ver que algunas teclas se quedan fijas encendidas y otras hacen como un parpadeo muy rápido, como si el spectrum detectara casi 50 pulsaciones por segundo.
Yo también me percaté de eso, en la versión anterior siempre se producía en combinación con symbol por el motivo que expuse y solucioné sin timmings, mandando solo un scancode mientras permanece pulsada, sin embargo hay otros casos efectivamente, pero comprobé que con un teclado convencional también se produce, por lo que achaque a la interpretación del propio core o BIOS, haz la prueba verás..., porque en el código tal como está ahora, no se envían ráfagas de scancodes de pulsación y liberación en ninguna parte.

Enviado desde mi Thor mediante Tapatalk
Sí, por eso digo que es el PS/2, lo hace igual con teclado externo que con el arduino.
Por ejemplo, si pulsas la tecla P se ve que se queda fija, pero si pulsamos la O hace como un parpadeo muy rápido, si a continuación pulsas la Q, se ve que la O deja de parpadear y se queda fija. Este comportamiento a pesar de que no parece muy importante puede influir por ejemplo en algún juego que espera que sueltes alguna tecla.

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

Re: ZXUnoPS2 en arduino, fuentes y binario.

Mensaje por spark2k06 » 15 Sep 2017, 15:52

Podría ser entonces la gestión que hace el propio core de estas letras en particular, en cuyo caso ahí estaría el punto de corrección si finalmente ese es el motivo por el cual el gryzor no funciona del todo bien, aquí la duda que me entra es, funciona bien en un spectrum real? Entiendo que sí, claro.

Enviado desde mi Thor mediante Tapatalk

ManuFerHi
Mensajes: 752
Registrado: 15 Nov 2015, 17:50

Re: ZXUnoPS2 en arduino, fuentes y binario.

Mensaje por ManuFerHi » 15 Sep 2017, 22:40

A veces se buguea el teclado, no sé exactamente el motivo pero a veces pasa, o se repiten teclas o se ralentiza las pulsaciones, hoy he puesto el bomb jack y no había manera de andar iz-der sólo saltar, al ir al test de la bios esas dos teclas creo que son M y N apenas detectaba pulsaciones, es como si detectara una fracción de pulsación cada segundo. He desconectado la alimentación y ha vuelto a ir bien, pasa pocas veces, pero sí es cierto que a veces se buguea el sistema.

Jaildesigner vuelve a probar el gryzor, si te pasa de nuevo prueba en lugar de OPQAM UIAZN estas teclas en el test de la bios no parpadean, se quedan fijas así vemos si el problema son las teclas que hacen el parpadeo.

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

Re: ZXUnoPS2 en arduino, fuentes y binario.

Mensaje por spark2k06 » 16 Sep 2017, 07:36

ManuFerHi escribió:A veces se buguea el teclado, no sé exactamente el motivo pero a veces pasa, o se repiten teclas o se ralentiza las pulsaciones, hoy he puesto el bomb jack y no había manera de andar iz-der sólo saltar, al ir al test de la bios esas dos teclas creo que son M y N apenas detectaba pulsaciones, es como si detectara una fracción de pulsación cada segundo. He desconectado la alimentación y ha vuelto a ir bien, pasa pocas veces, pero sí es cierto que a veces se buguea el sistema.

Jaildesigner vuelve a probar el gryzor, si te pasa de nuevo prueba en lugar de OPQAM UIAZN estas teclas en el test de la bios no parpadean, se quedan fijas así vemos si el problema son las teclas que hacen el parpadeo.
Lo del tema del parpadeo, empiezo a pensar que es mas cosa de la interpretación de los scancodes que hace el firmware de la BIOS y su velocidad de refresco que otra cosa... igual lo mejor es utilizar el software de velesoft, lo he probado y no se aprecia ningún tipo de parpadeo y es mas completo:

Imagen

Lo que te pasa de las teclas M y N te hace cosas raras es curioso, el bomb jack que has probado es de spectrum verdad? como ya dije esa parte del código no la he modificado, pero sí podría suceder que de alguna manera u otra influya todo lo que hayas hecho anteriormente. Una de las mejoras que he hecho (como ya adelanté en su momento) es la optimización de código para que emplee menos memoria dinamica y deje por tanto mayor cantidad para las variables locales, esta es la diferencia del antes y después de la optimización:

Imagen

Como se puede apreciar, pasamos de tener 657 bytes disponibles para variables locales a 1559 bytes. El disponer de menos memoria, de alguna manera u otra puede influir en el comportamiento del firmware si en un momento dado es demandada y no tiene disponible, porque aunque no genere errores de compilación, sí puede llegar a tener comportamientos extraños al tratar de usar memoria no disponible durante la ejecución, las variables locales.

No quería publicar nada hasta tenerlo todo bien probado, pero voy a adjuntar el binario de la versión que tengo actualmente para que pueda ir probando quien quiera, y reportarme fallos, falta alguna funcionalidad que no he incluído porque sé que no va bien de momento, pero lo que sí he incluído y probado es lo siguiente:

1. Codigo optimizado, ahora entra en atmegas 168 ademas de 328p.

2. Posibilidad de guardar el modo actual en la eeprom del avr, esto te permite por ejemplo dejar por defecto el de CPC en la BIOS y al arrancar que ya tengas el teclado preparado para el mismo. De momento la combinacion es CAPS+SYMBOL+F (pero posiblemente la cambie a W)

3. Al entrar en el set 1 de scancodes en la inicialización, deja de escuchar comandos. Al arrancar el core de PC/XT que hace uso de este set de scancodes, ya no es necesario que se quede escuchando.

4. Solucionado otro escenario de repetición de tecla en modo distinto de spectrum, que es el siguiente: se pulsa una tecla normal, se mantiene y se pulsa symbol, y mientras se mantiene symbol se suelta la tecla normal.

Lo dicho, me váis contado. :okidoki;

Edito: He estado jugando mucho tiempo al bomb jack sin problemas, pero por ejemplo he puesto el de CPC y observo mal funcionamiento en algunas teclas con symbol, pero esta vez se trata de un comportamiento anómalo del propio arduino, tiene ciertos límites ocultos aunque compile sin errores que tengo que entender, ... lo revisaré bien, de momento prefiero eliminar el archivo beta.

Avatar de Usuario
jaildesigner
Mensajes: 158
Registrado: 19 Sep 2016, 08:09

Re: ZXUnoPS2 en arduino, fuentes y binario.

Mensaje por jaildesigner » 16 Sep 2017, 22:17

ManuFerHi escribió:He probado el Gryzor, en teoría no debe disparar cuando dejas la M pulsada, no tiene autofire
Pero estáis probando la versión de CPC? Juraría que cuando yo la probé si que tenía autofire. Y usando el modo de teclado de CPC. No tengo aquí ahora el GO+ pero mañana lo probaré con otro zxuno.

ManuFerHi
Mensajes: 752
Registrado: 15 Nov 2015, 17:50

Re: ZXUnoPS2 en arduino, fuentes y binario.

Mensaje por ManuFerHi » 16 Sep 2017, 22:31

jaildesigner escribió:
ManuFerHi escribió:He probado el Gryzor, en teoría no debe disparar cuando dejas la M pulsada, no tiene autofire
Pero estáis probando la versión de CPC? Juraría que cuando yo la probé si que tenía autofire. Y usando el modo de teclado de CPC. No tengo aquí ahora el GO+ pero mañana lo probaré con otro zxuno.
Pues no, no vi en ningún momento que hablabas de la versión de CPC.

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

Re: ZXUnoPS2 en arduino, fuentes y binario.

Mensaje por spark2k06 » 17 Sep 2017, 07:08

spark2k06 escribió: 1. Codigo optimizado, ahora entra en atmegas 168 ademas de 328p.

2. Posibilidad de guardar el modo actual en la eeprom del avr, esto te permite por ejemplo dejar por defecto el de CPC en la BIOS y al arrancar que ya tengas el teclado preparado para el mismo. De momento la combinacion es CAPS+SYMBOL+F (pero posiblemente la cambie a W)

3. Al entrar en el set 1 de scancodes en la inicialización, deja de escuchar comandos. Al arrancar el core de PC/XT que hace uso de este set de scancodes, ya no es necesario que se quede escuchando.

4. Solucionado otro escenario de repetición de tecla en modo distinto de spectrum, que es el siguiente: se pulsa una tecla normal, se mantiene y se pulsa symbol, y mientras se mantiene symbol se suelta la tecla normal.

Lo dicho, me váis contado. :okidoki;

Edito: He estado jugando mucho tiempo al bomb jack sin problemas, pero por ejemplo he puesto el de CPC y observo mal funcionamiento en algunas teclas con symbol, pero esta vez se trata de un comportamiento anómalo del propio arduino, tiene ciertos límites ocultos aunque compile sin errores que tengo que entender, ... lo revisaré bien, de momento prefiero eliminar el archivo beta.
Tema resuelto, al final era un fallo mio ( :tepego: ) en un if que afectaba a todos los cores distintos a spectrum. He probado el mapeado del CPC en profundidad y va perfecto, ahora sí, lo adjunto con las mejoras mencionadas, sigue beta para que vayamos probando entre todos los que se animen hacer de betatester :mario: .

Por cierto, para guardar el modo de teclado en la eeprom sería finalmente CAPS+SYMBOL+Z... porque la combinación con F o W ya están ocupadas.
ManuFerHi escribió:
jaildesigner escribió:
ManuFerHi escribió:He probado el Gryzor, en teoría no debe disparar cuando dejas la M pulsada, no tiene autofire
Pero estáis probando la versión de CPC? Juraría que cuando yo la probé si que tenía autofire. Y usando el modo de teclado de CPC. No tengo aquí ahora el GO+ pero mañana lo probaré con otro zxuno.
Pues no, no vi en ningún momento que hablabas de la versión de CPC.
Yo tampoco sabia que hablaba del de CPC, yo estaba probando el de Spectrum.
Adjuntos
zxunops2_beta.zip
(8.69 KiB) Descargado 235 veces

Avatar de Usuario
jaildesigner
Mensajes: 158
Registrado: 19 Sep 2016, 08:09

Re: ZXUnoPS2 en arduino, fuentes y binario.

Mensaje por jaildesigner » 17 Sep 2017, 12:04

spark2k06 escribió:
ManuFerHi escribió: Pues no, no vi en ningún momento que hablabas de la versión de CPC.
Yo tampoco sabia que hablaba del de CPC, yo estaba probando el de Spectrum.
:shock:

Bueno, por lo menos ha servido para depurar algo :teclando..: , pese a la pequeña confusión inicial :okidoki; gracias a todos por vuestro tiempo!

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

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

Mensaje por spark2k06 » 17 Sep 2017, 12:07

jaildesigner escribió:
spark2k06 escribió:
ManuFerHi escribió: Pues no, no vi en ningún momento que hablabas de la versión de CPC.
Yo tampoco sabia que hablaba del de CPC, yo estaba probando el de Spectrum.
:shock:

Bueno, por lo menos ha servido para depurar algo :teclando..: , pese a la pequeña confusión inicial :okidoki; gracias a todos por vuestro tiempo!
En cuanto tenga un rato para esperar la carga lo pruebo y te digo. Me interesa tener todos los puntos controlados y dejarlo fino fino ;-). Una pregunta, con un teclado convencional imagino que ya lo habrás probado y va bien, verdad?

Otra cosa, sabéis si existe algún test de teclado similar al de velosoft de spectrum pero para CPC?

Enviado desde mi Thor mediante Tapatalk

Avatar de Usuario
jaildesigner
Mensajes: 158
Registrado: 19 Sep 2016, 08:09

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

Mensaje por jaildesigner » 17 Sep 2017, 13:52

spark2k06 escribió:En cuanto tenga un rato para esperar la carga lo pruebo y te digo. Me interesa tener todos los puntos controlados y dejarlo fino fino ;-). Una pregunta, con un teclado convencional imagino que ya lo habrás probado y va bien, verdad?
No tengo el GO+ a mano, pero usando un ZX-Uno estandar, con teclado PS2 y el core de CPC, funciona bien ... pero usando el SPACE en lugar de la M. No se porque no he podido redefinir el teclado. Con el gomas estoy seguro de usar la M, más que nada porque el SPACE está en la esquina.

Con SPACE y teclado PS2 en un ZXUNO normal he podido disparar caminando en las cuatro diagonales y alternar entre ellas sin problema. Si acaso luego vuelvo a probar a ver si puedo redefinir el teclado, que igual le he dado a jugar y luego ya no sale la opción.

Responder