05-feb-2008, 21:28 | #1 |
Marciano
|
Resoluciones de 256 líneas
Hola, tengo una Videoval, con monitor Hantarex MTC-9110 y Arcadevga. Hasta ahora he sido feliz con la configuración de modos de vídeo del Avres, pero ahora quiero hilar más fino y dejar cada juego con su resolución nativa, o una equivalente, siempre que sea posible.
Desde el principio he tenido un problema con las resoluciones de 256 líneas a 60Hz: 256x256, 320x256, 352x256 y 512x512 (los 512i presentan el mismo problema que los 256p). Lo que ocurre es que las primeras líneas de la pantalla aparecen distorsionadas, como si se dibujasen todas juntas, y luego aparece una diagonal que cruza: Estoy casi seguro que no es tema de potenciómetros, lo he trasteado hasta la saciedad, y el problema también aparece en dos máquinas de mis colegas. Mi teoría era que estos modos de 256 líneas y 60Hz, exceden la frecuencia del monitor, porque las líneas totales incluyendo el blanking son más de 270, y 270 x 60 = 16.200 -> 16,20 KHz, y como estos monitores llegan a 15,70 KHz, a duras penas les da tiempo a apagar el cañón, retornar arriba volverlo a encender, y por eso salía esa diagonal chunga. Así que desistí de usar estos modos. En su lugar estaba usando los modos de 264 líneas, que sí se visualizan correctamente... al bajar la frecuencia a 57 Hz, pensaba yo que compensaban el exceso de resolución vertical... pagando como precio el no poder sincronizar los juegos a 60 Hz con el refresco del monitor, aunque en juegos verticales se aprecia menos el problema. Sin embargo el otro día, viendo los modelines de la Arcadevga del Jeroni Paul, resulta que la resolución de 352x264, que en mi monitor se visualiza perfectamente, usa 16,30 KHz! Entonces ya no entiendo nada... ¿por qué se ven mal las otras? Buscando por el foro he visto a algún usuario que también tenía problema con los modos de 256 líneas (salvo el 401x256 que sí que funciona por tener menos frecuencia ??). Luego en la página de ultimarc (http://www.ultimarc.com/monfaq.html), encuentro esto: "Unfortunately it's not possible to get a 60Hz rate on resolutions of 256 lines, which are designed for vertical games on horizontal monitors, as there are too many lines to "fit in" in the time per frame." Entonces, según esto: ¿Se puede o no se puede visualizar modos de 256 líneas a 60 Hz en un monitor estándar de los que tenemos en nuestras recres? ¿A vosotros se os visualizan bien estos modos? ¿Sería posible usar el winmodelines para ajustar estos modos y evitar el problema que os comento? Me gustaría obtener estos modos, ya que en la medida de lo posible quiero sincronizar los juegos con el refresco vertical, soy un amante de los scrolles suaves en un crt. Espero haberme explicado bien. Un saludo! |
07-feb-2008, 01:43 | #2 |
Marciano
|
Hola
Efectivamente, el problema es que los modos de 15,7kHz / 60Hz (NTSC estándar) tienen un máximo de 243 líneas activas. Inmediatamente después de la última línea ocurre el pulso de sincronización horizontal y el haz empieza a volver arriba. Necesita un tiempo hasta llegar arriba y estabilizarse, ese tiempo es el "vertical video delay = 200ms" y se ha de respetar, de lo contrario el vídeo que empiezas a emitir antes que llegue arriba lo ves en líneas diagonales y mientras está arriba reculando, líneas superpuestas. Ñapas varias que se pueden hacer para ganar esas líneas que faltan: * se aumenta ligeramente la frecuencia horizontal, hasta donde el monitor deje. Al tomar menos tiempo por línea (y siendo el escaneo vertical igual) caben más líneas. Eso es lo que hace por ejemplo el modo 256x256 o 256x264 de ese documento, que son a 16,2kHz en vez de 15,7kHz. Eso está OK si el monitor sincroniza bien con esa frecuencia. Si ves bien ese modo, ya tienes el problema resuelto. * se reduce la velocidad de escaneo vertical, así hay más tiempo para dibujar más líneas. Esa solución funciona pero no suele ser la deseada precisamente porque no irá el juego sincronizado o irá más lento. Por ejemplo 256x264 va a 58Hz (y a 16,2kHz, este modo usa una combinación entre esta opción y la anterior). * se reduce el "video delay". Algunos monitores tienen un circuito de vertical "de más alta gamma" que hace volver el haz más rápido y por lo tanto gana algunas líneas de resolución, ese no es tu caso. Si el modo de 256x264 te va bien, el de 256x256 también debería irte bien, me extraña que el primero te funcione y el segundo no. Prueba algo: el modo de 256x256, el último valor del modeline (273) cámbialo por 278. Así te irá a 58Hz en vez de 59 a ver si es suficiente para ocultar las líneas esas. Luego si te va bien así podemos probar a aumentar algo el refresco horizontal para ver si se puede subir el vertical a 59Hz. Ah, el winmodelines no funcionará en una arcadevga. Para poder editar un modo, accede con el regedit a la ruta que te indica el winmodelines y cambia de nombre el valor DALCUSTOMCRT256X256X0X60, lo llamas DALDTMCRTBCD256X256X0X60. A continuación refrescas la lista en el winmodelines y debería aparecerte el modo, lo editas y actualizas el registro y finalmente deshaces el cambio de nombre. Saludos |
07-feb-2008, 15:54 | #3 |
Marciano
|
Jeroni, muchísimas gracias por tu explicación, muy ilustrativa. Al menos ya sé por qué no conseguía introducir modos nuevos para la arcadevga con el winmodelines.
En efecto, me falto por aclarar que el modo 256x264 tampoco me funciona bien, es el único modo de 264 líneas que exhibe este problema. Lo que observé es que los modos problemáticos son los que tienen una diferencia entre VVF y VVT menor de 16 líneas. Por ejemplo: Modeline "352x256@59,7Hz 16,2KHz (60Hz)" 7.280 352 368 400 450 256 257 260 271 -hsync -vsync 271 - 260 = 11 líneas. Intenté cambiar el valor de 271 por 276 pero no apreciaba cambios (por lo que comentabas de la arcadevga). Esta noche probaré otra vez editando el registro como dices a ver si hay suerte. Gracias y un saludo. Editado por Calamity en 07-feb-2008 a las 15:57. |
10-feb-2008, 15:46 | #4 |
Marciano
|
Éxito absoluto
Pues eso, que el experimento con el Winmodelines ha sido un éxito. He conseguido reajustar todos los modos de 256 líneas de la Arcadevga para que se visualicen correctamente, y además he llevado la frecuencia hasta los 60 Hz. Los modos de 264 también se visualizan ahora correctamente, aunque en este caso sólo he podido subir la frecuencia hasta los 59 Hz. A continuación tenéis los modelines que he usado, que son el resultado de reajustar los originales de la arcadevga:
Modeline "256x256@60,0Hz 16,7KHz (60Hz)" 5.504 256 268 292 330 256 257 260 278 -hsync -vsync Modeline "256x264@59,0Hz 16,7KHz (60Hz)" 5.529 256 268 292 330 264 265 268 284 -hsync -vsync Modeline "321x256@60,0Hz 16,7KHz (60Hz)" 6.938 321 340 372 416 256 257 260 278 -hsync -vsync Modeline "352x256@60,0Hz 16,7KHz (60Hz)" 7.506 352 368 400 450 256 257 260 278 -hsync -vsync Modeline "352x264@59,0Hz 16,7KHz (60Hz)" 7.574 352 365 405 452 264 265 268 284 -hsync -vsync Modeline "512x512@30,0Hz 16,6KHz (60Hz)" 11.062 512 538 594 668 512 513 516 552 interlace -hsync -vsync Modeline "632x264@59,0Hz 16,7KHz (60Hz)" 13.807 632 664 728 824 264 265 268 284 -hsync -vsync Vaya por delante que puede que estos modos no funcionen en todos los monitores. Para aumentar la frecuencia de refresco he tenido que tantear el límite de frecuencia horizontal que aguantaba mi monitor (Hantarex MTC-9110), que ha resultado rondar los 16,7 KHz. Más allá de esa frecuencia no conseguía una imagen estable. Los modos originales de la Arcadevga que he sustituido funcionaban a una frecuencia algo menor (16,2 - 16,3 KHz), pero a costa de dejar muy poco margen entre los valores VVF y VVT, lo que en mi monitor se traducía en la pérdida de líneas y aparición de diagonales que comenté. Lo que no habría esperado es que también existiese margen para llegar a los 60 Hz de refresco vertical. La ventaja de los 60 Hz es que es la frecuencia a la que van la mayoría de los juegos, y ahora tengo scrolles supersuaves cuando activo el triplebuffer. La verdad es que estoy muy contento, ha merecido la pena. Bueno, por otra parte, tal como comentó Jeroni, el winmodelines no funciona directamente con la Arcadevga. Aunque renombré las claves del registro, tampoco aparecieron los modos en la lista del programa. Al final me tocó hacer una chapucilla que por suerte ha funcionado. Los pasos que seguí son los siguientes (importante: sólo para Arcadevga): - Escribir el modeline en un archivo de texto. Realizar las modificaciones en él y salvarlo. Esto es simplemente para conservar el modeline por si fuera necerario reajustarlo después. - Abrir Winmodelines - Abrir Regedit y buscar la "Ubicación" que aparece en la ventana de winmodelines. Buscar la lista de modos, cuyas claves aparaceran una detrás de otra con el formato DALCUSTOMCRT256X256X0X60,... Estos son los modos originales de la Arcadevga. - Copiar la línea de texto del modeline a la ventana de Winmodelines, como siempre. Si todo es correcto, darle a Actualizar el registro. Cerrar winmodelines. - Volver a Regedit, pulsamos F5 para actualizar. Ahora, al final de las claves de los modos de vídeo, deben aparecer dos nuevas líneas que corresponden al modo que hemos creado. De las dos conservaremos la que se llama DALDTMDFPBCD256X256X0X60 y eliminaremos la otra. Como ya existe un modo con esta resolución en la Arcadevga, tendremos que eliminarlo a mano, borrando la clave original (mucho ojito), en nuestro caso DALCUSTOMCRT256X256X0X60. Después renombraremos DALDTMDFPBCD256X256X0X60 como DALCUSTOMCRT256X256X0X60. - Cerrar Regedit, reiniciar y ya tendremos el modo de vídeo arreglado. El modo de vídeo que hemos creado no aparecerá en la lista del Winmodelines, lo que hemos hecho es machacar el modo original de los drivers de la tarjeta por el nuestro "tuneado". En fin, vuelvo a reiterar mi emoción por el logro y el agradecimiento a la comunidad marciana y en especial al creador de Winmodelines. Editado por Calamity en 10-feb-2008 a las 15:51. |
11-feb-2008, 00:05 | #5 |
Marciano
|
Buen trabajo
Si te parece añadimos tus modos en el documento que acompaña el winmodelines. Saludos |
12-feb-2008, 00:40 | #6 |
Marciano
|
Gracias. Pues por mí estupendo, la idea era compartirlos por si a alguien le pueden resultar de utilidad.
Ahora ya metido en el ajo lo que me apetece es tratar de emular el máximo número posible de modos de vídeo, ya que mame usa más de 300 modos, muchos con la misma resolución pero distinta frecuencia de refresco. He usado el Mame_res_tool para asignar los modos de vídeo de cada juego. Por cierto, un programa muy bueno en su concepción, pero que resulta una trampa mortal llena de bugs hasta que uno aprende a sortearlos. Saludos! |
12-feb-2008, 00:42 | #7 |
Administrador
|
Podrias darnos 4 pinceladas de los bugs de dicha aplicacion?? lo digo porque a mi la idea de esa aplicacion me fascino...
|
12-feb-2008, 17:34 | #8 | |
Marciano
|
Quote:
Primero de todo, introduces las rutas del ejecutable, roms, etc., y resulta que el programa no hace nada, la opción Generate Ini File y muchas otras siguen grises... te puedes tirar un buen rato hasta que se te ocurre hacer esto: mame -listxml|xml2info > mame.dat Entonces todo empieza a funcionar. Aclaro que esto ocurre aunque tengas el xml2info (que lo han quitado de las últimas versiones de mame), simplemente el programa no se comunica adecuadamente con el ejecutable de mame, pero como no hay ningún mensaje de error no te enteras. Cuando lo tienes funcionando, en la parte de la izquierda te aparece la lista completa de resoluciones de mame, y la opción de seleccionar una resolución para cada juego individualmente o bien por grupos que compartan un mismo modo de vídeo. Y te dices: "Bien, esto es justo lo que yo necesitaba". Entonces tienes la opción de Auto-select Video Modes, en la línea de lo que hace el Avres, con la particularidad de que puedes elegir unos "Settings when ideal mode not found", que en mi caso por ejemplo puse a 640x480 con hwstretch 1, pensando que este modo se autoseleccionaría para los juegos cuya resolución excediese las de la Arcadevga, en especial para los juegos verticales con más de 264 líneas. Por desgracia esta opción funciona bastante mal, y marca con 640x480 la gran mayoría de los juegos. El algoritmo de autoselección de Avres va algo mejor, pero también es bastante precario. Queda pues la opción de pasar primero el Avres y luego importar los inis a Mame_res_tool y modificar manualmente los juegos necesarios. Los inis los lee sin problema, y si pinchas a los juegos ves que las opciones son las que ha seleccionado automáticamente Avres. Después de recorrer a manubrio las 349 resoluciones de mame y hacer los cambios pertinentes, le das a Generate Ini Files y piensas que ya lo tienes todo. Entonces cargas el 1942 y te sale un modo entrelazado que no esperas... algo va mal. Vuelves a cargar el Mame_res_tool y compruebas atónito que han volado todas las configuraciones que tenías (te las ha colocado como resolution auto) salvo aquellas que has editado en la última sesión. La razón de esto es que por alguna razón cuando Mame_res_tool genera por segunda vez un ini que ya existía, si había ya definida una resolución, y en esa sesión no la modificamos explicitamente, el programa introduce por error unos espacios en la resolución (321x256 pasaría a 321 x 256). La próxima vez que se carga el programa, él mismo no es capaz de leer la resolución que ha escrito antes, y aparecería como 321 x ??. Si no nos damos cuenta y volvemos a grabar el ini, entonces el programa lo convierte a "resolution auto". Y en un instante se pueden perder varias horas de configuraciones. La solución más inmediata es generar SÓLO los inis de los juegos que se han editado en esa sesión. El problema viene si, por ejemplo, queremos editar los juegos que van a 224x256x59,00Hz, ya que hay 7 variantes de esta resolución, a diferentes frecuencias, y si arreglamos una se nos desconfiguran las otras, ya que aunque en el menú de la izquierda aparecen como independientes, a la hora de generar los inis los hace a la vez... En fin, una pesadilla. Yo he tenido que hacer la configuración completa tres veces (3). Si tuviera algo de tiempo me gustaría programar un clon del Mame_res_tool que funcionase, e incluir alguna opción más... pero ya se sabe. Perdón por el ladrillo, más que pincelada ha sido brochazo del 15. Saludos! |
|
12-feb-2008, 20:13 | #9 |
Administrador
|
jajajajaa... la verdad es que la informacion es muy util, le echaremos un vistazo por dentro a ver como es y tendremos en cuenta dichos bugs. Gracias por la informacion.
|
14-feb-2008, 16:48 | #10 |
Marciano
|
Alguien ha probado una resolucion de 256 pixeles verticales a 60hz en un televisor por euroconector? Me interesa el tema por el hecho de poder configurar los rtypes en su modo de resolucion pero a 60hz.
|