Joy2PS2 en ZXUno. Sugerencias, ideas, feedbacks, etc...

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
neuro_999
Mensajes: 692
Registrado: 06 Oct 2015, 10:14

Re: Joy2PS2 en ZXUno. Sugerencias, ideas, feedbacks, etc...

Mensaje por neuro_999 » 01 Jul 2017, 17:02

Los he probado y me funcionan :) aunque de nuevo el de vic20 no va si los valores clk estan en una variable en lugar de una constante. Vaya misterio :)
En principio todos los cores me funcionan si están bajo constantes menos el de bbc micro y si estan bajo variables me fallan en atari 800 y el vic20. Ni idea xq sera :) seguiré investigando, xq lo de los tiempos variables es para poder usar 4/8 en el core de spectrum que va casi como un spectrum real. Sino me hare un sendps2 para spectrum a esos valores y otro con los valores constantes para el resto. (eso si, tengo q encontrar primero xq el de bbc no me funciona cn valores de #define).
Lo que se ve en los udf de Drive=2 o drive=8 y lo de skew=fast o skew=slow, para que es? X si tiene algo que ver...


Enviado desde mi ONE A2003 mediante Tapatalk

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

Re: Joy2PS2 en ZXUno. Sugerencias, ideas, feedbacks, etc...

Mensaje por spark2k06 » 01 Jul 2017, 17:22

neuro_999 escribió:Los he probado y me funcionan :) aunque de nuevo el de vic20 no va si los valores clk estan en una variable en lugar de una constante. Vaya misterio :)
Es raro, sí. Que tipo de variable es? Cambia de tipo a ver si te va mejor... no se, prueba unsigned char, int, o las que se te ocurra. Por probar...
neuro_999 escribió:...lo de los tiempos variables es para poder usar 4/8 en el core de spectrum que va casi como un spectrum real. Sino me hare un sendps2 para spectrum a esos valores y otro con los valores constantes para el resto. (eso si, tengo q encontrar primero xq el de bbc no me funciona cn valores de #define).
A mi el BBC Micro me funciona y uso #defines en 20/40, no se, lo que te sucede es un poco raro. Hay alguna forma de probar la mejora de rendimiento con 4/8 respecto a 20/40? (no se, algún test o algo), si estamos hablando de microsegundos... me parece curioso que se aprecie una mejora notable en la respuesta. Si se demuestra, me apunto a lo de usar 4/8 en todos los cores que se puedan :okidoki;
neuro_999 escribió:Lo que se ve en los udf de Drive=2 o drive=8 y lo de skew=fast o skew=slow, para que es? X si tiene algo que ver...
Si alguien puede aclararnos este punto estupendo, yo en el que he resintetizado de Oric los he suprimido, solo he dejado esto:

NET "PS2CLK1" LOC="P99" | IOSTANDARD = LVCMOS33 | PULLUP;
NET "PS2DAT1" LOC="P98" | IOSTANDARD = LVCMOS33 | PULLUP;

Tal como se encuentra en el resto de cores que sí funcionan, el del Spectrum incluido.

Avatar de Usuario
neuro_999
Mensajes: 692
Registrado: 06 Oct 2015, 10:14

Re: Joy2PS2 en ZXUno. Sugerencias, ideas, feedbacks, etc...

Mensaje por neuro_999 » 01 Jul 2017, 17:34

Si, lo del tipo de variables he probado cn todos :) jeje.
Y lo de los tiempos se nota sobre todo cuando le das caña al teclado pulsando un montón de teclas, no es algo funcional pero me gusta que se comporte lo mas parecido a un spectrum. Supongo q con el joy2ps2 no lo notaras, pero si pruebas algún día con un teclado de specy veras q se nota.
Ya te digo q si encuentro el motivo del bbc, me hago dos rutinas de envio de ps2 y me voy a los defines 20/40 pañ resto de cores....

Enviado desde mi ONE A2003 mediante Tapatalk

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

Re: RE: Re: Joy2PS2 en ZXUno. Sugerencias, ideas, feedbacks, etc...

Mensaje por spark2k06 » 01 Jul 2017, 19:58

neuro_999 escribió:Si, lo del tipo de variables he probado cn todos :) jeje.
Y lo de los tiempos se nota sobre todo cuando le das caña al teclado pulsando un montón de teclas, no es algo funcional pero me gusta que se comporte lo mas parecido a un spectrum. Supongo q con el joy2ps2 no lo notaras, pero si pruebas algún día con un teclado de specy veras q se nota.
Ya te digo q si encuentro el motivo del bbc, me hago dos rutinas de envio de ps2 y me voy a los defines 20/40 pañ resto de cores....

Enviado desde mi ONE A2003 mediante Tapatalk
Otra idea, usa un valor mínimo fijo para los delays, y en una variable metes un factor de repetición, mediante un while(x-->0) delay_us(4); siendo x la variable.

Sobre los tiempos, haré pruebas. :-)

Enviado desde mi Thor mediante Tapatalk

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

Re: Joy2PS2 en ZXUno. Sugerencias, ideas, feedbacks, etc...

Mensaje por spark2k06 » 02 Jul 2017, 08:58

@neuro_999, prueba esto:

void my_delay_us_4us_steps(int us)
{
while (0 < us)
{
_delay_us(4);
us -= 4;
}
}

Y la utilizas como _delay_us, pero asegúrate de pasarle múltiplo de 4 al parametro int us. A ver si así te funcionan las variables.

Avatar de Usuario
neuro_999
Mensajes: 692
Registrado: 06 Oct 2015, 10:14

Re: Joy2PS2 en ZXUno. Sugerencias, ideas, feedbacks, etc...

Mensaje por neuro_999 » 02 Jul 2017, 09:13

El lunes lo pruebo y te cnto :) muchas gracias.

Enviado desde mi ONE A2003 mediante Tapatalk

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

Re: Joy2PS2 en ZXUno. Sugerencias, ideas, feedbacks, etc...

Mensaje por spark2k06 » 02 Jul 2017, 09:15

De nada, a mi también me pasaba eso que comentas de las variables y me funciona así. Suerte![emoji2]

Enviado desde mi Thor mediante Tapatalk

Avatar de Usuario
neuro_999
Mensajes: 692
Registrado: 06 Oct 2015, 10:14

Re: Joy2PS2 en ZXUno. Sugerencias, ideas, feedbacks, etc...

Mensaje por neuro_999 » 04 Jul 2017, 07:44

Lo he peobado y parece que funciona. La verdad es que aun no entiendo xq... Pero lo hace.
Es curioso que a una funcion de pausa le pasas una variable y funciona diferente que si le pasas una constante multiplicada x una variable aun cuando el valor resultante es el mismo. Que cosas :) pero el caso es que así es.
A ver si hago mas pruebas hoy que tengo mas tiempo.
Muchas gracias.

Enviado desde mi ONE A2003 mediante Tapatalk

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

Re: Joy2PS2 en ZXUno. Sugerencias, ideas, feedbacks, etc...

Mensaje por spark2k06 » 04 Jul 2017, 07:56

neuro_999 escribió:Lo he peobado y parece que funciona. La verdad es que aun no entiendo xq... Pero lo hace.
Es curioso que a una funcion de pausa le pasas una variable y funciona diferente que si le pasas una constante multiplicada x una variable aun cuando el valor resultante es el mismo. Que cosas :) pero el caso es que así es.
A ver si hago mas pruebas hoy que tengo mas tiempo.
Muchas gracias.

Enviado desde mi ONE A2003 mediante Tapatalk
El tema del tratamiento de las variables en arduino es un misterio :alienn: , no es la primera vez que me pasan cosas raras con éstas y he tenido que buscar soluciones que no tienen sentido alguno... pero bueno, ya sabes, si algo funciona no lo toques :okidoki;

Avatar de Usuario
yombo
Mensajes: 487
Registrado: 05 Oct 2015, 14:10

Re: Joy2PS2 en ZXUno. Sugerencias, ideas, feedbacks, etc...

Mensaje por yombo » 04 Jul 2017, 08:57

neuro_999 escribió:Lo he peobado y parece que funciona. La verdad es que aun no entiendo xq... Pero lo hace.
Es curioso que a una funcion de pausa le pasas una variable y funciona diferente que si le pasas una constante multiplicada x una variable aun cuando el valor resultante es el mismo. Que cosas :) pero el caso es que así es.
¿Es posible que la propia multiplicación afecte? Arduino no tiene multiplicación por hardware, creo, por lo que podría ser muy lenta para una pausa corta.

Responder