Cambios en imagen de monitor al cambiar de modo, duda sobre vga, powerstrip y forceware
Macarro
view post Escrito el 14/4/2005, 12:43
Avatar

El karma existe... por desgracia.

Grupo: Moderadores generales
Mensajes: 8657


Status: Offline: ultima azione eseguita il 15/1/2007, 20:10


Una de los puntos negativos que veía hasta ahora al uso de TV o monitor arcade para la maca residía en el hecho de que la imagen cambia al cambiar el modo de video. Por ejemplo, configuramos, ya sea con potenciómetros o menú servicio, la imagen para que esté perfectamente centrada y ocupe toda la pantalla a 320x200; si cambiamos la resolución a 320x240, la imagen ya no estará ni centrada ni ocupará toda la pantalla... Según tengo entendido, lo que se hace normalmente es usar una configuración media que nos permita disfrutar de un modo aceptable en todos los modos de video usados, sin ser 100% bueno en ninguno de ellos. Con los monitores de PC, esto no es problema ya que guardan una configuración independiente para cada modo de video.

Pues bien, leyendo un poco en ultimarc, en la sección de la aVGA, me he encontrado esto:

"All video modes timed at 15.7 Khz horizontal frequency to eliminate picture shifting on mode changes."

Significa eso que se evitan el problema que describí al principio?

Un saludo y gracias, expertos en video
ferix
view post Escrito el 14/4/2005, 15:45
Avatar

Just call my name, `cause I’ll hear you scream

Grupo: Member
Mensajes: 247


Status: Offline: ultima azione eseguita il 12/11/2006, 23:50


Con los monitores arcade "standard" ocurria lo mismo. Cada vez que cambiabas de placa, habia que reajustar el monitor.
Esto es normal... ya que por lo general, se variaban las frecuencias, pero no el ancho del pulso de sincronismo.

La explicación es la siguiente:
Primero, tenemos que saber que el pulso de sincronismo se transmite al mismo tiempo que la información de video (colores) y mientras dura este, no hay señal de video (bueno, la hay, pero a nivel de negro, esto se llama blanking).
Segundo, al cambiar las resoluciones, cambiamos las frecuencias de sincronismo y el tiempo que dura una linea.
Por eso, a una frecuencia mayor, la duración de una linea es menor, con lo cual, si no ajustamos la duracción del pulso de sincronismo, la parte de la imagen que ocupa este será proporcionalmente mayor, lo que hara que nuestra imagen se desplace hacia la derecha.
Ej:
A)
Duración de linea: 64 mircrosegundos (15.625 hz, sistema pal)
Duración de pulso de sincronismo: 1 microsegundo.
Proporción: 1*100/64 = 1,6 %

B)
Duración de linea: 52 mircrosegundos (15.750 hz, sistema ntsc)
Duración de pulso de sincronismo: 1 microsegundo (igual que antes).
Proporción: 1*100/52 = 2 %

Lo mismo se aplica para el sincronismo vertical.
Eso si, si ajustamos proporcionalmente la duración del pulso de sincronismo a la frecuencia, la imagen permanecera en su sitio....
Otra forma de hacer esto, es fijar la frecuencia (y con ello los pulsos), y variar el dotclock (que es lo que hace la tarjeta de video), con lo que conseguimos el mismo efecto, siempre en cuando el dotclock esté ajustado proporcionalmente a la resolución.
El dotclock es el reloj mediante el cual se van dibujando los pixels, a mayor dotclock, mayor número de puntos o pixels, y viceversa.
La frecuencia de los sincronismos se ajustan en base al dotclock, con lo cual, para mantener la frecuencia y duración del sincronismo, hay que recalcular la proporción entre estos para cada modo...

buff... vaya puro que he soltao


Bueno, la respuesta corta es SI, esto soluciona tu problema

Saludos.

Modificado por ferix - 14/4/2005, 16:49
Macarro
view post Escrito el 14/4/2005, 15:54
Avatar

El karma existe... por desgracia.

Grupo: Moderadores generales
Mensajes: 8657


Status: Offline: ultima azione eseguita il 15/1/2007, 20:10


Muy buena explicación. Aclarado me queda el tema (lo de que se soluciona el problema).

De electrónica tengo algunas nociones, si bien de video y audio, nulas. Tengo un amigo que estudió TV y alguna vez me explicó el sistema en el que se transmitía la información y toda la historia (que si una señal para la luminosidad y otra para el tono y no se qué historias). Nunca me enteré demasiado de todas estas cosas.

Pues muchas gracias, curiosidad satisfecha, de momento

MODIFICADO
------------------

Una curiosidad, si modificamos el dotclock, será mayor o menor el tiempo que estamos excitando a la pantalla y por lo tanto brillará más o menos, no? La diferencia es mínima, y no creo que sea visible, pero es así??

Modificado por Macarro - 14/4/2005, 15:56
ferix
view post Escrito el 14/4/2005, 15:59
Avatar

Just call my name, `cause I’ll hear you scream

Grupo: Member
Mensajes: 247


Status: Offline: ultima azione eseguita il 12/11/2006, 23:50


No, realmente no es así.
La duración de la linea es la misma, por que la frecuencia de refresco es exactamente la misma. Lo que pasa es que modificando el dotclock, podemos dividir en más o menos puntos esa linea.
Es decir, si multiplicamos por 2 el dotclock, donde antes teniamos un pixel, ahora caben 2.
Lo único que podriamos llegar a apreciar es una falta de definición si la resolución es más alta de lo que puede representar el tubo.
Esto es el tamaño de punto, o dot pitch.

Saludos.

Modificado por ferix - 14/4/2005, 17:03
Macarro
view post Escrito el 14/4/2005, 16:02
Avatar

El karma existe... por desgracia.

Grupo: Moderadores generales
Mensajes: 8657


Status: Offline: ultima azione eseguita il 15/1/2007, 20:10


Ah, ok, pero en el caso del cambio de sistema pal a ntsc, por las frecuencias de barrido horizontal, si que habría dicho cambio de brillo, no?
ferix
view post Escrito el 14/4/2005, 16:06
Avatar

Just call my name, `cause I’ll hear you scream

Grupo: Member
Mensajes: 247


Status: Offline: ultima azione eseguita il 12/11/2006, 23:50


Si, en ese caso sí, por que estas variando las frecuencias.

Saludos.
ferix
view post Escrito el 14/4/2005, 17:42
Avatar

Just call my name, `cause I’ll hear you scream

Grupo: Member
Mensajes: 247


Status: Offline: ultima azione eseguita il 12/11/2006, 23:50


Bueno, me ha quedado por explicar una cosa... por que no se varia normalmente el ancho del pulso de sincronismo (en los monitores de pc si se hace).
Fácil. La electrónica de un monitor arcade (o una TV) es relativamente más sencilla que la de un monitor de pc, y el circuito de sincronización tiene un limite a partir del cual, si el ancho del pulso no es lo suficientemente grande, no es capaz de sincronizar (no lo detecta).
Por esto mismo, el standard define que el pulso de sincronismo de una TV (o un monitor arcade) sea entre 1 y 1,5 microsegundos.

Saludos.

Modificado por ferix - 14/4/2005, 18:43
pakoman
view post Escrito el 15/4/2005, 14:53
Avatar

Desconectado de la realidad

Grupo: Member
Mensajes: 1034
Location: Jerez


Status: Offline: ultima azione eseguita il 13/1/2007, 15:17


Como controlas Ferix.

¿sabes si con el advance mame pasa lo mismo que con la arcadevga, que se evita tener que ajustar potenciómetros al cambiar de resolución?
Lord Hiryu
view post Escrito el 15/4/2005, 15:17
Avatar

Master of Stick Of Pain!!!! I wanna Rock!!!!!!! And 80's Porn Star too!!!!!

Grupo: Moderadores generales
Mensajes: 4741
Location: Por Murcia,Barna,Madrid y Valencia más o menos


Status: Offline: ultima azione eseguita il 17/1/2007, 18:09


Esa te la contesto yo Pakoman.
Según como tengas configurado el modo de video del Advmame.
Lo que manda es la opción:Display_adjust
Puedes tener una modeline genérica de 512x384 y que todos los juegos se estiren automaticamente según la resolución que tengan.
O bien.
Puedes hacer que genere la resolución correcta y reloj de cada juego.
Esto está sacado del Advmame.txt
QUOTE
---- 8.3.3 display_adjust ----
Controls how are generate the video modes. Correct use of this
option removes the need of any software stretching improving a
lot the game image.

For an introduction on how the program operates on video mode,
you can see the install.txt' file.

display_adjust none | x | clock | xclock | generate_exact
| generate_y | generate_clock | generate_clocky
| generate_yclock

Options:
   none - No automatic video mode creation. Use only the
       available modelines (default).
   x - Adjusts the available modeline horizontal resolution
       to match the game image's size. The stretched modeline
       keeps all the clock attributes of the original
       modeline. Also all other modeline attributes,
       like doublescan and interlace, are maintained.
   clock - Adjusts the available modeline's vertical clock
       to match the game's frame rate.
   xclock - Adjusts the available modeline's horizontal resolution
       and the vertical clock.
   generate_exact - Creates automatically some new modelines using
       the format specified on the device_video_format'
       option. The generated modelines will be named generate-*'.
       Check the advdef.txt' file for the description of
       the device_video_format' option or simply use the
       advcfg' utility to set it up correctly.
       If the device_video_format' option isn't
       specified a default value for your monitor clock
       limits is guessed.
   generate_y - Like generate_exact, and it allows generating
       modes with a wrong vertical size if a perfect mode is not
       possible.
   generate_clock - Like generate_exact, and it allows generating
       modes with a vertical clock different than the game
       original clock if a perfect mode is not possible.
   generate_yclock - Like generate_exact, and it allows
       generating modes with a wrong vertical clock and/or size
       if a perfect mode is not possible. Modes with a correct size
       are favorite over mode than a correct clock.
   generate_clocky - Like generate_exact, and it allows
       generating modes with a wrong vertical clock and/or size
       if a perfect mode is not possible. Modes with a correct clock
       are favorite over mode with a correct size.

The generate' options are able to create at runtime all the
required modelines. You don't need to create a list of modelines
manually.

The not generate' options use only the modelines defined with
the device_video_modeline' option in the configuration file.
You can add them manually or using the advv' utility.
Check the advdev.txt' file for more details on the
device_video_modeline' option.

Of all the generate' options, the generate_yclock' is the
suggested and the most powerful. The advcfg' utility always
sets the generate_yclock' option in your configuration file.

Of all the not generate' options, the xclock' is the
suggested and the most powerful.

If you can't get good result with the generate' options you
should create a list of modelines and try with the xclock' value.
You don't need to duplicate the same modeline with different
horizontal resolutions and/or the clocks, because the xclock'
value allows the program to adjust them.
Instead, you should create a wide set of different vertical
resolutions on which the video mode can be chosen.
A good choice is to create all the resolutions with a step of
16 rows.

Aquí te explica las posibles combinaciones.
Y luego como bien te he comentado, si centras la pantalla de la máquina...como si fuera una pantalla de TV NTSC..con el advcfg, y luego sólo creas una modeline para 512x384..o 640x480...o la que quieras).....ajustando los modos de estiramiento, siempre podrás tener la imagen que te ocupe toda la pantalla y no tener que tocar ningún potenciometro.
No obstante, yo soy de la opinión de ajustar los potenciometros para cada juego....como se hacía antiguamnete cuando se cambiaba una placa.
Un saludo.
pakoman
view post Escrito el 15/4/2005, 15:37
Avatar

Desconectado de la realidad

Grupo: Member
Mensajes: 1034
Location: Jerez


Status: Offline: ultima azione eseguita il 13/1/2007, 15:17


Ah, vale. Gracias.

Lo suyo es usar la resolución nativa, sino para qué complicarse con AdvanceMame, ¿no?

Creo recordar que desde advcfg también se podía centrar cada modo, más cómodo pero seguramente menos versátil que los potenciómetros.

Y ya puestos, ¿cómo configuras los juegos de 25 khz en un monitor de 15 khz? ¿usas un modo entrelazado?
9 respuesta(s) desde el 14/4/2005, 12:43