Ayuda para prueba en modo radas
Ayuda para prueba en modo radas
Buenas,
Alguien podría probar este tap en su placa 4.1? En Zesarux me funciona bien, pero en mi placa prototipo v2 (Spartan 3) sólo veo líneas verticales rojas y amarillas, incluído en el borde.
Link al TAP: http://yombo.org/datos/fotos_foros/zxun ... _radas.zip
El programa debería mostrar unos cuadrados de colores moviéndose a izquierda y derecha.
Otras pruebas en modo radas en mi v2 me han ido bien, pero al meter el shadow screen ya no me funciona.
Según he podidio indagar en los cores de la Spartan 3, la paginación de shadow screen está presente en todos los cores que tenían el modo radas. Creo que tengo grabado el core14.
Esto es lo que tendría que mostrar, y es lo que muestra Zesarux:
Y esto es lo que saca mi prototipo v2:
Alguien podría probar este tap en su placa 4.1? En Zesarux me funciona bien, pero en mi placa prototipo v2 (Spartan 3) sólo veo líneas verticales rojas y amarillas, incluído en el borde.
Link al TAP: http://yombo.org/datos/fotos_foros/zxun ... _radas.zip
El programa debería mostrar unos cuadrados de colores moviéndose a izquierda y derecha.
Otras pruebas en modo radas en mi v2 me han ido bien, pero al meter el shadow screen ya no me funciona.
Según he podidio indagar en los cores de la Spartan 3, la paginación de shadow screen está presente en todos los cores que tenían el modo radas. Creo que tengo grabado el core14.
Esto es lo que tendría que mostrar, y es lo que muestra Zesarux:
Y esto es lo que saca mi prototipo v2:
Re: Ayuda para prueba en modo radas
Me lo descargo, y lo intento probar entre hoy y mañana en el proto V4.
Re: Ayuda para prueba en modo radas
Probado. a mi me sale esto:
Lo más curioso de todo, es que esas franjas amarillas y rojas ocupan toda la pantalla, incluida la zona del "border".
Lo más curioso de todo, es que esas franjas amarillas y rojas ocupan toda la pantalla, incluida la zona del "border".
Re: Ayuda para prueba en modo radas
¿Puedes poner el código fuente, por favor?
Quizás ahí se detecte rápidamente el posible problema
Enviado desde mi LG-H815 mediante Tapatalk
Quizás ahí se detecte rápidamente el posible problema
Enviado desde mi LG-H815 mediante Tapatalk
Re: Ayuda para prueba en modo radas
Aquí tienes el código. Está bastante "en bragas", pero bueno.
https://github.com/yomboprime/pruebaRadas
Está hecho en C (compilador Z88DK). Sólo hay el main.c y una "librería" modoRadastan.h y modoRadastan.c
https://github.com/yomboprime/pruebaRadas
Está hecho en C (compilador Z88DK). Sólo hay el main.c y una "librería" modoRadastan.h y modoRadastan.c
Re: Ayuda para prueba en modo radas
Gracias. Sí, es curioso.carmeloco escribió:Probado. a mi me sale esto:
Lo más curioso de todo, es que esas franjas amarillas y rojas ocupan toda la pantalla, incluida la zona del "border".
Lo has probado en Zesarux? A mí me salía todo el rato un mensaje en pantalla del emulador alternando entre "Radastan mode 0/1" y " Screen 0/1", pero al quitar los mensajes ya funciona bien, aparentemente.
Me temo que algo estoy haciendo mal.
Re: Ayuda para prueba en modo radas
Vale, ya he detectado la función que causa el problema de las rayas verticales en el ZX-Uno:
Si comentas la llamada, la animación es más brusca al no haber doble buffer, pero "funciona". Ahora hay que investigar porqué causa ese efecto tan extraño en el ZX-Uno y en el emulador no da problemas...
Código: Seleccionar todo
unsigned char *radasCambiarPantalla() {
unsigned char valorPuerto = inp( 0x00FF );
if ( ! iPantallaActual ) {
pantallaActual = DIRECCION_PANTALLA1;
valorPuerto &= 0xFE;
iPantallaActual = 1;
}
else {
pantallaActual = DIRECCION_PANTALLA0;
valorPuerto |= 0x01;
iPantallaActual = 0;
}
outp( 0x00FF, valorPuerto );
return pantallaActual;
}
Re: Ayuda para prueba en modo radas
Exacto! Muchas gracias por mirártelo... ya he resuelto el bug
Resulta que mirando en el código del core (ula_radas.v) he visto que la lectura del puerto timex (FF) no devuelve el ultimo valor escrito, sino otro valor no sé cual, algo relacionado con la vram.
O sea, no hay que leerlo, simplemente escribir el valor que quieres. En este caso, 0 para la página 0, y 1 para la 1. El resto de bits del puerto son para hi-color y hi-res, y poniendolos a 0 se desactivan.
(Lo que ocurría antes es que estaba cambiando entre los modos timex constantemente)
El trozo de código en C ha quedado así:
Resulta que mirando en el código del core (ula_radas.v) he visto que la lectura del puerto timex (FF) no devuelve el ultimo valor escrito, sino otro valor no sé cual, algo relacionado con la vram.
O sea, no hay que leerlo, simplemente escribir el valor que quieres. En este caso, 0 para la página 0, y 1 para la 1. El resto de bits del puerto son para hi-color y hi-res, y poniendolos a 0 se desactivan.
(Lo que ocurría antes es que estaba cambiando entre los modos timex constantemente)
El trozo de código en C ha quedado así:
Código: Seleccionar todo
void radasCambiarPantalla() {
if ( ! iPantallaActual ) {
outp( 0x00FF, 0 );
pantallaActual = DIRECCION_PANTALLA1;
iPantallaActual = 1;
}
else {
outp( 0x00FF, 1 );
pantallaActual = DIRECCION_PANTALLA0;
iPantallaActual = 0;
}
}
Re: Ayuda para prueba en modo radas
Efectivamente, ahora va fino
De todas maneras, el efecto de las barras verticales EN EL BORDE habría que estudiarlo...
De todas maneras, el efecto de las barras verticales EN EL BORDE habría que estudiarlo...
- Hark0
- Mensajes: 683
- Registrado: 27 Sep 2015, 00:31
- Ubicación: Cornellà de Llobregat - BCN
- Contactar:
Re: Ayuda para prueba en modo radas
Ya te digo... un border "tuneado":...Manu escribió:Efectivamente, ahora va fino
De todas maneras, el efecto de las barras verticales EN EL BORDE habría que estudiarlo...
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA.
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA.