Regresar   Foro de marcianitos.org > Construcción y restauración de máquinas recreativas > El vídeo

 
 
Old 17-feb-2008, 02:51   #1
Recap
Usuario registrado
Añadir nuevos "modelines" en WIN a una Arcade VGA.

Holas.

Casi me sabe mal abrir otro hilo para esto, pero veo que el tema se toca por aquí y por allá, una y otra vez, y es difícil encontrar una respuesta definitiva. Aunque ésta no exista (aún), podríamos intentar recopilar la información existente de una vez y para siempre, con el fin de facilitar las cosas en lo sucesivo, dado que parece una cuestión en la que cada vez hay más interés (y, quién sabe; quizás os sale un tutorial solito de aquí en unos días).

El título del hilo lo dice todo: Cómo añadir "modelines" bajo Windows que no están reconocidos en los "drivers" / Quickres de la Arcade VGA de Ultimarc. Lógicamente, en especial enfocado a modos con frecuencia vertical distinta a 60 Hz, puesto que los modos de 60 Hz están en general presentes con Quickres.

Mi Arcade VGA es el modelo antiguo, uso WIN XP y empleo un TV Trinitron de 29'' vía cable RGB, por si valiera el dato.

Lo que sé: Que se puede conseguir editando el Registro. Pero impone mucho para alguien que no tiene ni papa de programación como yo.

Lo que quiero saber: Si se puede hacer con Power Strip, Soft-15kHz, Win Modelines o alguna aplicación similar y cuál es el más asequible y recomendable de todos. Y la manera de proceder.


Lo más cercano a una respuesta que he encontrado lo explicaba Calamity aquí:

http://www.marcianitos.org../../../showthread.php?t=13335

Quote:
Originalmente publicado por Calamity
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".

Y no parece sencillo, en especial teniendo en cuenta el enorme nº de "modelines" necesario si queremos cubrir todo MAME.

¿Alguien ha ido un poco más allá? ¿Power Strip no resolvería esto más fácilmente?

Parece que una cuestión insalvable es la de que un mismo valor de resolución no puede ser compartido por distintas frecuencias verticales. Esto se podría solventar añadiendo un "pixel" más del estipulado a priori en el valor x, creando distintos "modelines", pero casi iguales en la práctica.


¡Oh! Pregunta estúpida, probablemente: ¿Sabéis cómo mirar los "modelines" actualmente reconocidos en la Arcade VGA directamente desde Windows?


Y por último, ¿alguien sabe cómo contactar con Mad estos días? Estoy seguro de que él podría aportar mucha luz aquí...






Gracias por cualquier orientación.

Editado por Recap en 17-feb-2008 a las 02:54.
   
Old 18-feb-2008, 15:29   #2
Calamity
Marciano
 
Avatar de Calamity
Hola.

Voy a resumir lo que he podido averiguar hasta ahora sobre este tema. Debe quedar claro que lo que pongo son mis conclusiones obtenidas trasteando el registro y pueden no ser correctas, así que si alguien sabe algo que contradiga esto agradeceremos que lo exponga.

Se trata de añadir nuevas resoluciones o variantes a diferente frecuencia para las ya existentes en la Arcadevga. El objetivo es poder sincronizar todos los juegos de Mame con el refresco del monitor, a la frecuencia original del juego.

Lo primero que probé sin éxito fue el Powerstrip. Nada más cargarlo, sin tocar nada, se perdió la sincronización del monitor y tuve que reiniciar en "modo seguro" para desinstalarlo. Me da la impresión de que Powerstrip reconoce la Arcadevga como una Ati Radeon normal y por tanto no puede trabajar con ella.

Tenemos como alternativa el Winmodelines (o Soft-15Khz, pero este no he usado), que permiten añadir resoluciones mediante el registro del driver. Con este sistema se pueden modificar los modelines de las resoluciones originales de la Arcadevga, tal como expliqué. Es más sencillo de lo que parece y una vez conoces el procedimiento es cuestión de segundos, es más el rollo de tener que reiniciar cada vez que cambias algo. De todos modos cuando se toca el registro hay que andar con ojo. Gracias a esto conseguí ajustar los modos de 256 líneas que nunca se habían podido ver bien en mi monitor.

Tras este éxito lo natural era querer obtener otras resoluciones además de las originales de la Arcadevga, y por pedir, pues si es posible TODAS las que usa Mame. Y aquí es donde parece que hemos topado con una limitación. No hemos conseguido de momento que el driver acepte nuevas resoluciones vía registro, sólo se pueden modificar las existentes. Y tengo la impresión de que esto se debe al propio diseño de los drivers de la Arcadevga, que parecen una versión capada de los de Ati. Puede que en Ultimarc suprimieran la funcionalidad del driver para aceptar modos personalizados, porque, a fin de cuentas, ¿quién iba a necesitarlos teniendo la Arcadevga?

El caso es que, si suprimimos del registro uno de los modos originales (borrando o renombrando la correspondiente clave DALCUSTOMCRT), el driver sigue devolviendo ese modo de vídeo como soportado, y como tal aparece en la lista del Quickres. Por supuesto, si tratamos de seleccionar ese modo de vídeo no funcionará, el monitor perderá la sincronía. Por tanto, parece que el driver sí que necesita que esos modelines estén en el registro, y los lee cuando se inicia el sistema, pero SÓLO lee aquellos que busca de forma predeterminada, que corresponden con los modos originales de la tarjeta, e ignora cualquier otro que pongamos nosotros.

Así que, de momento, yo no veo posible añadir nuevos modelines a la Arcadevga, al menos con lo que sabemos, a falta de que aparezca por ahí una nueva clave mágica del registro que desbloquee el asunto.

Lo que está claro es que la Arcadevga no se diseñó para esto. Dándole vueltas, casi apetece cambiar a una Ati convencional con la que se pueda trastear bien, aunque perder los 15 Khz fuera de Windows no apetece nada, siempre puede hacer falta en algún momento. A no ser que fuera posible una solución híbrida

Saludos!
   
Old 18-feb-2008, 22:00   #3
Jeroni Paul
Marciano
Hola

Gracias por tu trabajo.
¿Alguien ha probado a instalar un ATI Catalyst oficial en una ArcadeVGA? Si funcionara, insertando los modos Arcade ya tendríamos la flexibilidad del driver de ATI y fuera de Windows los 15kHz.

Cuando tenga un rato quiero hacer unas pruebas...
   
Old 19-feb-2008, 18:33   #4
Recap
Usuario registrado
Quote:
Originalmente publicado por Calamity Ver post
Lo primero que probé sin éxito fue el Powerstrip. Nada más cargarlo, sin tocar nada, se perdió la sincronización del monitor y tuve que reiniciar en "modo seguro" para desinstalarlo. Me da la impresión de que Powerstrip reconoce la Arcadevga como una Ati Radeon normal y por tanto no puede trabajar con ella.
Gracias por la respuesta, chacho. Eso me ahorra aprender a trastear con Power Strip, así que, algo de este hilo ya he sacado... Ahora, se supone que Power Strip y Arcade VGA _son_ compatibles, porque conozco a alguno que los ha usado con éxito. ¿Quizás es que no usaba Windows...?




Quote:
Tenemos como alternativa el Winmodelines (o Soft-15Khz, pero este no he usado), que permiten añadir resoluciones mediante el registro del driver. Con este sistema se pueden modificar los modelines de las resoluciones originales de la Arcadevga, tal como expliqué. Es más sencillo de lo que parece y una vez conoces el procedimiento es cuestión de segundos
,

Me alegra leerlo. Sonaba densísimo.




Quote:
No hemos conseguido de momento que el driver acepte nuevas resoluciones vía registro, sólo se pueden modificar las existentes. Y tengo la impresión de que esto se debe al propio diseño de los drivers de la Arcadevga, que parecen una versión capada de los de Ati. Puede que en Ultimarc suprimieran la funcionalidad del driver para aceptar modos personalizados, porque, a fin de cuentas, ¿quién iba a necesitarlos teniendo la Arcadevga?
Aquí me pierdo. ¿No se supone, precisamente, que la Arcade VGA "nació para MAME"? ¿Y, por tanto, que debe admitir todos los modelines contemplados en el emulador? ¿Te refieres fuera del entorno Windows?

Si es así, ¿por qué no preguntar / pedir en el foro de Ultimarc? Yo estoy dispuesto...

Existen unos drivers para la A-VGA, incluso el Quickres. Todo esto implica que la tarjeta se piensa también para Windows. Pero está claro que no valen. ¿Por qué no comunicárselo? ¡Me sorprende que nadie lo haya hecho aún!





Quote:
El caso es que, si suprimimos del registro uno de los modos originales (borrando o renombrando la correspondiente clave DALCUSTOMCRT), el driver sigue devolviendo ese modo de vídeo como soportado, y como tal aparece en la lista del Quickres. Por supuesto, si tratamos de seleccionar ese modo de vídeo no funcionará, el monitor perderá la sincronía. Por tanto, parece que el driver sí que necesita que esos modelines estén en el registro, y los lee cuando se inicia el sistema, pero SÓLO lee aquellos que busca de forma predeterminada, que corresponden con los modos originales de la tarjeta, e ignora cualquier otro que pongamos nosotros.
Entonces, ¿cómo elegimos el nuevo "modeline"? Por ejemplo, con cualquier emulador de WIN: ¿Editamos el INI o lo que haga falta y como está en Registro, Windows lo aceptará...?





Quote:
Lo que está claro es que la Arcadevga no se diseñó para esto. Dándole vueltas, casi apetece cambiar a una Ati convencional
Me das un disgusto. Un disgusto de 100 €. Insisto en que hay que preguntar en Ultimarc. ¿Me respaldarías? (Más voces - más posibilidades de ser escuchado...)



¿Nadie sabe nada de Mad...?
   
Old 20-feb-2008, 21:27   #5
Calamity
Marciano
 
Avatar de Calamity
Quote:
Originalmente publicado por Recap Ver post
Ahora, se supone que Power Strip y Arcade VGA _son_ compatibles, porque conozco a alguno que los ha usado con éxito.
No lo sé, es posible, yo lo probé, no me funcionó y no insistí, igual es otra versión. De todos modos no me gusta Power Strip, lo uso para el htpc y la verdad lo veo bastante traicionero.

Quote:
Originalmente publicado por Recap Ver post
Aquí me pierdo. ¿No se supone, precisamente, que la Arcade VGA "nació para MAME"? ¿Y, por tanto, que debe admitir todos los modelines contemplados en el emulador? ¿Te refieres fuera del entorno Windows?
En todo momento hablo de Windows. A ver, desde mi punto de vista Mame no "contempla" ningún modeline. Simplemente se sirve de los modos disponibles en el sistema. La Arcadevga ofrece una serie de modos que permiten acomodar a la gran mayoría de juegos, pero está un poco limitada en cuanto a variedad de frecuencias de refresco. Por eso en la página de Ultimarc recomiendan usar "triplebuffer 0".

Quote:
Originalmente publicado por Recap Ver post
Existen unos drivers para la A-VGA, incluso el Quickres. Todo esto implica que la tarjeta se piensa también para Windows. Pero está claro que no valen. ¿Por qué no comunicárselo? ¡Me sorprende que nadie lo haya hecho aún!
En mi opinión, la Arcadevga es la solución para la gente que no quiere complicarse la vida con modelines y demás, por eso la venden con un número razonable de modos y ya está. Lo que intentamos hacer es ampliar su funcionalidad original, y eso... intuyo que no le gustará al fabricante.

Quote:
Originalmente publicado por Recap Ver post
Entonces, ¿cómo elegimos el nuevo "modeline"? Por ejemplo, con cualquier emulador de WIN: ¿Editamos el INI o lo que haga falta y como está en Registro, Windows lo aceptará...?
Cada modo personalizado (todos los de la ArcadeVGA) tiene asignado un modeline desde registro. Si modificas el modeline estás modificando ese modo, para cualquier programa que lo use.

El problema es que sólo podemos editar los modos que trae por defecto la Arcadevga, no añadir otros, al menos hasta ahora...

Quote:
Originalmente publicado por Recap Ver post
Me das un disgusto. Un disgusto de 100 €
Tranqui, tengo buenas noticias...
   
Old 20-feb-2008, 21:54   #6
Calamity
Marciano
 
Avatar de Calamity
Hola otra vez!

Pues en efecto, tengo buenas noticias. He conseguido localizar el lugar donde los drivers de Ultimarc guardan las resoluciones personalizadas. Más que guardar las esconden, porque están camufladas bajo un nombre engañoso:

Quote:
HKR,, DALOvlYUVParameters1, %REG_BINARY%,00,01,00,01,00,00,3c,00,00,01,08,01,00,00,3c,00,20,01,f0, 00,00,00,3c,00,28,01,f0,00,00,00,3c,00,\
41,01,f0,00,00,00,3c,00,41,01,00,01,00,00,3c,00,50,01,f0,00,00,00,3c,0 0,70,01,f0,00,00,00,3c,00,\
60,01,00,01,00,00,3c,00,60,01,08,01,00,00,3c,00,60,01,20,01,00,00,3c,0 0,88,01,f0,00,00,00,3c,00,\
80,01,20,01,00,00,3c,00,91,01,00,01,00,00,3c,00,c0,01,f0,00,00,00,3c,0 0,00,02,f0,00,00,00,3c,00
HKR,, DALOvlYUVParameters2, %REG_BINARY%,00,02,20,01,00,00,3c,00,00,02,c0,01,00,00,3c,00,00,02,00, 02,00,00,3c,00,78,02,08,01,00,00,3c,00,\
80,02,e0,01,00,00,3c,00,88,02,20,01,00,00,3c,00,80,02,20,01,00,00,3c,0 0,80,02,f0,00,00,00,3c,00,\
20,03,58,02,00,00,3c,00,00,04,00,03,00,00,3c,00,30,01,f0,00,00,00,3c,0 0,d0,02,e0,01,00,00,3c,00,\
f0,00,f0,00,00,00,3c,00,00,01,f0,00,00,00,3c,00
Estas entradas en el registro cumplen el papel de las DALNonStandardModesBCD1 del driver normal de Ati. Sin embargo hay una diferencia importante: los valores están en hexadecimal (tamaño word), al contrario que el estándar de Ati. Por tanto, si quisiéramos añadir, por ejemplo, la resolución 384 x 256 x 55 Hz, habría que editar la clave DALOvlYUVParameters2, y en la última línea añadir estos ocho bytes: 80 01 00 01 00 00 3c 00. El 3ch es el refresco (60), realmente es de 55Hz pero el driver no acepta refrescos menores de 60Hz, por eso los originales de Ultimarc están todos marcados a 60Hz aunque sean menores.

Una vez "dado de alta" el nuevo modo de vídeo, hay que introducir su modeline, para ello puede usarse Winmodelines, renombrando luego la clave DALDTMCRTBCD(...)x(...)x0x(...) correspondiente al nuevo modo a DALCUSTOMCRT(...)x(...)x0x60. Ojo con el 60, es por lo que comentaba del refresco (sólo si este es < 60). También hay que editar el valor del refresco en la clave DALR6 CRT(...)x(...)x0x60 correspondiente.

Quedan problemas por resolver, todavía no tengo claro el número límite de modos que pueden añadirse, y cómo no el problema de qué hacer cuando queremos dos modos con la misma resolución y distinto refresco (que puede solucionarse como comentaban más arriba).

Parece complicado y de momento, mientras haya que hacerlo a pelo con el regedit, sólo se lo recomiendo al que sepa lo que se hace.

De todos modos, es un placer tener los r-types corriendo como la seda a 55Hz

Saludos!

Editado por Calamity en 20-feb-2008 a las 22:10.
   
Old 20-feb-2008, 23:25   #7
Jeroni Paul
Marciano
¡Magnífico descubrimiento, Calamity!
Tiene la pinta que solo han cambiado los nombres de las claves con un editor hexadecimal, hay uno de los .sys del driver que por dentro tiene todos los nombres en texto ASCII.

Por otro lado, yo conozco que los drivers ATI normales "aceptan" dos claves como DALNonStandardModes (lo descubrí justamente mirando por dentro ese .sys):
- DALNonStandardModes: que tiene los valores en hexadecimal
- DALNonStandardModesBCD: que tiene los valores en BCD (léibles vamos)
Ahora sería cosa de ver qué nombre le han dado a esta segunda. Quizá sea el mismo acabado en BCD. Imagino que si tomamos el Catalyst 4.1 oficial y comparamos el .sys en cuestión podremos descubrir todos los nombres cambiados. Incluso se podrían cambiar dichos nombres con un editor hexadecimal a la vez que los nombres de las claves del registro para que funcionara como un driver ATI normal con el winmodelines.

La verdad es que no sé qué interés tendrían en querer ocultar estas cosas.

Muchas gracias

Si te parece en la próxima versión de winmodelines le añado tu descubrimiento, con los créditos debidos por supuesto.

Editado por Jeroni Paul en 20-feb-2008 a las 23:27.
   
Old 21-feb-2008, 19:28   #8
Calamity
Marciano
 
Avatar de Calamity
Gracias a ti Jeroni.

Efectivamente, todo lo que dices es correcto. He comprobado lo del sufijo BCD y funciona! Por tanto podrás adaptar el Winmodelines aprovechando las mismas funciones que tienes, es sólo cambiar una etiqueta por otra. Eso sí, para que lea las resoluciones existentes de la Arcadevga habrá que convertirlas previamente al formato BCD.

Precisamente había estado trasteando el driver estos días, indagando por qué la tarjeta no se traga los drivers oficiales de Ati. Y puedo dar fe de que lo que dices es cierto. No quiero entrar más a fondo en la cuestión porque me temo que caminamos en terreno pantanoso.

Con apunta Jeroni, se abre la puerta a la edición y ampliación de los modos de vídeo originales de la Arcadevga, a través de dos vías:

- Soporte de la Arcadevga por Winmodelines. No habría que tocar nada de la instalación del driver (o casi nada).

- Driver Reeducado. Se podría crear una nueva versión del driver que trabajase como la oficial de Ati en cuanto a edición de modos personalizados. Con la ventaja de que podemos dejar instalados "de serie" todos los modos de vídeo que queramos. La desventaja es que supone instalar drivers, y habría que recurrir a nuestro amigo cuadrúpedo.

Saludos!
   
Old 23-feb-2008, 14:30   #9
Recap
Usuario registrado
Quote:
Pues en efecto, tengo buenas noticias.
:_(

Gracias mil de nuevo, pero me temo que tu mensaje solo es comprensible para los que sabéis de programación.

Llegados a este punto, yo solo puedo preguntaros, ¿qué me recomendáis? ¿Que me espere a que se implemente el Winmodelines para la A-VGA? ¿Que le insista a Calamity para que pierda aún más tiempo ahora en reescribir para no iniciados su "tutorial"? ¿Que le diga a Andy (Ultimarc) que es un timador por no advertir estos extremos en su embriagadora publicidad y, que si no saca una nueva versión de los "drivers", le pregunto a ATI qué piensa de su invento y su tinglao...?




Quote:
Originalmente publicado por Calamity Ver post

- Soporte de la Arcadevga por Winmodelines. No habría que tocar nada de la instalación del driver (o casi nada).
¿Cuál sería la desventaja de este método?



Quote:
- Driver Reeducado. Se podría crear una nueva versión del driver que trabajase como la oficial de Ati en cuanto a edición de modos personalizados. Con la ventaja de que podemos dejar instalados "de serie" todos los modos de vídeo que queramos. La desventaja es que supone instalar drivers, y habría que recurrir a nuestro amigo cuadrúpedo.
No sé si entiendo del todo "la desventaja", pero ¿es factible que esto se dé? ¿Supone mucho trabajo? ¡Estoy convencido de que si este tema aflora en los foros de Ultimarc, MAME World, etc, habrá muchos interesados y provocará reacciones!

Editado por Recap en 23-feb-2008 a las 14:32.
   
Old 25-feb-2008, 03:33   #10
Jeroni Paul
Marciano
Hola

El WinModelines ya está actualizado:
http://www.marcianitos.org../../../showthread.php?t=14152

Saludos