Resolución idónea de un emulador para usar en una TV

Emuladores y aplicaciones que ayudarán a la perpetuación del Spectrum y su software en el futuro

Moderador: Sir Cilve Sinclair

Responder
Avatar de Usuario
Anaxagoras
Herbert
Mensajes: 79
Registrado: Mar Dic 11, 2007 6:20 pm
Contactar:

Resolución idónea de un emulador para usar en una TV

Mensaje por Anaxagoras » Mié Feb 18, 2015 2:40 am

Hola.

Estoy buscando un emulador de Spectrum en el que pueda configurar la resolución de la pantalla (a pantalla completa) original del Spectrum para salir a través de una tarjeta ArcadeVGA hacia una TV CRT normalita de 60Hz, 4:3, PAL ella.

Lo primero que he buscado es la resolución del Spectrum, 256x192, pero me da que no es esto lo que busco porque ahí no está incluido el borde por ejemplo.

En el MAME si que puedo configurar la resolución exacta o muy parecida. No uso escalados, ni tampoco "suavizados", etc. De hecho prescindo de todo lo que no es necesario emular para que se parezca a una TV porque sale por una TV.

Y me gustaría hacer lo mismo con un emulador de Spectrum.

Pero claro, ya me he puesto a mirar la "resolución" de la TV con sistema PAL y ahí ya la hemos liado. :?

En el sistema PAL hay 625 líneas, 576 efectivas, (antes de seguir que conste que estoy tirando de Wikipedia como un loco), que digo yo que efectivas serán todas aunque las otras "no se vean".

Y 720 "columnas activas". Con lo cuál la resolución PAL debería ser algo parecido a 720x625 o 720x576.

¿Es esa la resolución que tengo que usar en el emulador?

Muchas gracias de antebrazo :wink:

Por cierto, esto no tiene nada que ver con la tele que regalo. Es que tengo dos y sitio para una.
Un saludo.
Anaxágoras.

Xdistancia

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Resolución idónea de un emulador para usar en una TV

Mensaje por mcleod_ideafix » Mié Feb 18, 2015 2:30 pm

Anaxagoras escribió:Con lo cuál la resolución PAL debería ser algo parecido a 720x625 o 720x576.
El Spectrum (el 48K) tarda 448 ciclos de reloj de pixel en pintar una línea. El blanking dura 96 ciclos, así que nos quedan 352 ciclos de área activa (bordes laterales + paper).

El reloj de pixel del Spectrum es la mitad del reloj de pixel de PAL, así que esos 352 ciclos se convierten en 704 ciclos de PAL. Un ciclo es un pixel, así que son 704 píxeles de ancho, con un intervalo de blanking horizontal de 192 ciclos (si tal cosa se puede configurar en tu ArcadeVGA). El total de ciclos en horizontal, blanking horizontal incluido, es de 996 ciclos (996 píxeles)

En vertical tenemos 192 líneas de paper + 56 de borde superior + 56 de borde inferior + 8 líneas de blanking vertical/sincronismo vertical. Esto suma 312 líneas por campo. Como hay dos campos por frame, esto da 624 líneas por frame. No tenemos 625 líneas porque el Spectrum no tiene campo impar y campo par, sino que son los dos en realidad el mismo campo.

Dejando por tanto el blanking aparte, lo que hay de área activa en vertical son 608 líneas. Si no puedes configurar esa cantidad de líneas activas, te vale con 576, ya que muchas de ellas son invisibles. Lo más que puede pasar es que en tu tele CRT aparezca una franjita negra arriba y abajo del todo en la pantalla (negra, o del color que tengas configurado de overscan). En el Spectrum real, todas las líneas que son habitualmente invisibles están "rellenas" del color del borde. Si tu emulador puede ser configurado para que el color del borde sea el que se ponga como color de overscan, entonces mejor aún.

En resumen: configura un modo PAL de 704x576, si puede ser PAL progresivo a 50Hz, o PAL entrelazado a 25Hz.
Web: ZX Projects | Twitter: @zxprojects

Avatar de Usuario
Anaxagoras
Herbert
Mensajes: 79
Registrado: Mar Dic 11, 2007 6:20 pm
Contactar:

Re: Resolución idónea de un emulador para usar en una TV

Mensaje por Anaxagoras » Mié Feb 18, 2015 10:32 pm

Muchísimas gracias.
Como siempre muy didáctico, así da gusto :)

Ahora me toca probar emuladores en los que pueda configurar esas resoluciones (a pantalla completa of course), y que corran bajo Windows XP, que es donde tengo este tinglado.

Me ido de cabeza al ZXSpin que es el que más usaba y sabía que traía la opción de elegir resolución, pero esa no me aparece.

Lo mismo si puedo configurar un resolución del escritorio y luego decirle al emulador que use la misma resolución que el escritorio.

No sé, voy a probar.

Gracias de nuevo.
Un saludo.
Anaxágoras.

Xdistancia

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Resolución idónea de un emulador para usar en una TV

Mensaje por mcleod_ideafix » Jue Feb 19, 2015 1:01 am

En Windows ni idea, pero en Linux puedes crear un "modeline" personalizado para el XFree86, y si la tarjeta lo soporta, pues lo verás tal cual lo quieres. Esto se hace con la herramienta web de esta página:
http://www.epanorama.net/faq/vga2rgb/calc.html

Modo de 704x608 entrelazado

Código: Seleccionar todo

Modeline "704x608"   14   704 752 816 896   608 608 616 624  -hsync -vsync Interlace
Modo de 704x304 no entrelazado

Código: Seleccionar todo

Modeline "704x304"   14   704 752 816 896   304 304 308 312  -hsync -vsync
Estoy suponiendo que la polaridad de las señales de sincronismo son negativas. A lo mejor esto no es cierto y tienes que cambiar la polaridad de alguna de ellas, o de las dos. Al ser una resolución más próxima a 800x600 que a 640x480, igual el monitor se queda más contento si usas polaridad positiva en las dos, pero puedes probar todos los casos.

La herramienta también da un fichero MGA.MON para las tarjetas Matrox Millenium en Windows, que en este caso es:

Código: Seleccionar todo

[*User-Defined_mode,(704X608)]
PIXEL_CLK   =   14000
H_DISP   =   704
H_FPORCH   =   48
H_SYNC   =   64
H_BPORCH   =   80
H_SYNC_POL   =   0
V_DISP   =   304
V_FPORCH   =   0
V_SYNC   =   4
V_BPORCH   =   4
V_SYNC_POL   =   0
INTERLACE_ENABLE  =  1
Para el modo no entrelazado de 704x304, cambiar el último parámetro por un 0.

Si tu tarjeta es una "ArcadeVGA" probablemente tenga una utilidad o algo así para configurar estos parámetros, o algunos de ellos.
Web: ZX Projects | Twitter: @zxprojects

Avatar de Usuario
Anaxagoras
Herbert
Mensajes: 79
Registrado: Mar Dic 11, 2007 6:20 pm
Contactar:

Re: Resolución idónea de un emulador para usar en una TV

Mensaje por Anaxagoras » Jue Feb 19, 2015 2:34 am

Interesante la calculadora para obtener los modelines para XFree.

En Linux si que tengo claro como tratar de probar resoluciones, refrescos, etc.
Más que nada porque los "instaladores" de las distribuciones de Linux de hace unos años, la parte de la configuración del servidor de ventanas había que hacerla casi siempre a manubrio.

Pero bueno, me sirvió también para entender como se gestionaba todo aquello que hay "por debajo" del escritorio.

En Windows es más opaco, seleccionas en un desplegable la resolución y ya está.

Pero si que hay programas para poder configurar más resoluciones.

Por ejemplo el WinModelines. Estoy echándole un ojo a los tutoriales. :D
Un saludo.
Anaxágoras.

Xdistancia

Avatar de Usuario
Anaxagoras
Herbert
Mensajes: 79
Registrado: Mar Dic 11, 2007 6:20 pm
Contactar:

Re: Resolución idónea de un emulador para usar en una TV

Mensaje por Anaxagoras » Mar Feb 24, 2015 5:00 pm

Ya está.

Me estaba liando con la aplicación Winmodelines.
Cuando probaba algunas resoluciones recibía el mensaje "Modo no soportado". Y pensaba que estaba introduciendo algún disparate, nada raro por otra parte, sin embargo esa resoluciones si las guardaba pero no podía probarlas hasta reiniciar el PC que es cuando las coge del registro.

Otra cosa es que el "modeline" generado funcionase. Por la gráfica saldrá lo que hayamos configurado, otra cosa es que el dispositivo que recibe la señal, en esta caso una tele, lo acepte o lo "entienda".
mcleod_ideafix escribió:En resumen: configura un modo PAL de 704x576, si puede ser PAL progresivo a 50Hz, o PAL entrelazado a 25Hz.
Lo he configurado y se nota mucho parpadeo, y no debería. Así que algo no estaré haciendo bien.

Al final he configurado lo que llama un modo predeterminado "Arcade CGA" con una resolución de 321x240 que es el que he usado en el ZXSpin y el resultado es más que satisfactorio.

Luego he usado GDI en lugar de OpenGL o DirectX para ahorrarme suavizados, filtros, etc..
Nada de escalados, scanlines tampoco, la TV ya las trae de fábrica :D ...

Y me ha quedado una emulación de lujo.
En otro ocasión si salen unas fotos decentes las publico.
Muchas gracias.
Un saludo.
Anaxágoras.

Xdistancia

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 16 invitados