Página 1 de 1

Ayuda para prueba en modo radas

Publicado: 16 Abr 2016, 00:04
por yombo
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:
Imagen

Y esto es lo que saca mi prototipo v2:
Imagen

Re: Ayuda para prueba en modo radas

Publicado: 16 Abr 2016, 08:58
por carmeloco
Me lo descargo, y lo intento probar entre hoy y mañana en el proto V4.

Re: Ayuda para prueba en modo radas

Publicado: 16 Abr 2016, 09:44
por carmeloco
Probado. a mi me sale esto:

Imagen

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

Publicado: 16 Abr 2016, 09:52
por Manu
¿Puedes poner el código fuente, por favor?

Quizás ahí se detecte rápidamente el posible problema :D

Enviado desde mi LG-H815 mediante Tapatalk

Re: Ayuda para prueba en modo radas

Publicado: 16 Abr 2016, 12:18
por yombo
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

Re: Ayuda para prueba en modo radas

Publicado: 16 Abr 2016, 12:28
por yombo
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".
Gracias. Sí, es curioso.

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

Publicado: 16 Abr 2016, 17:06
por Manu
Vale, ya he detectado la función que causa el problema de las rayas verticales en el ZX-Uno:

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;

}
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...

Re: Ayuda para prueba en modo radas

Publicado: 17 Abr 2016, 04:07
por yombo
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í:

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

Publicado: 17 Abr 2016, 12:16
por Manu
Efectivamente, ahora va fino :D

De todas maneras, el efecto de las barras verticales EN EL BORDE habría que estudiarlo...

Re: Ayuda para prueba en modo radas

Publicado: 19 Abr 2016, 11:45
por Hark0
Manu escribió:Efectivamente, ahora va fino :D

De todas maneras, el efecto de las barras verticales EN EL BORDE habría que estudiarlo...
Ya te digo... un border "tuneado":... ;)