¿Como se crean las Modelines?
[MaD]
view post Escrito el 4/12/2006, 02:25 by: [MaD]

Desconectado de la realidad

Grupo: Member
Mensajes: 1680


Status: Utente anonimo


Hola.

Parte de esta información ya la ha comentado Bubu y es que empecé a escribir este post el viernes pero he estado ocupado y hasta hace un rato no he podido terminar de escribir esta chapa...


En el device_video_clock se define el ancho de banda para el video que permite el chasis, los refrescos horizonales que permite el chasis y los refrescos verticales que permite el chasis.

Si por ejemplo ponemos la línea device_video_clock 5-50 / 15.5-16 / 47-63 estamos diciendo que el chasis permite un ancho de banda para el video de entre 5MHz y 50MHz, una frecuencia de refresco horizontal de entre 15,5kHz y 16kHz y un refresco vertical de entre 47Hz y 63Hz.

Si ponemos varios valores separados por punto y coma ( ; ) estaremos definiendo varias frecuencias para por ejemplo monitores bi-frecuencia o tri-frecuencia. Por ejemplo 5-50 / 15.75 / 48-62 ; 12-50 / 24.96 / 50-80 estaría definiendo que el chasis soporta dos frecuencias, la primera con un ancho de video de entre 5MHz y 50MHz, una frecuencia horizontal de 15,75kHz y un refresco vertical de entre 48Hz y 62Hz y la segunda frecuencia tendría un ancho de banda de entre 12MHz y 50MHz, una frecuencia de horizontal de 24,96kHz y una frecuencia vertical de entre 50Hz y 80Hz.


Para hacer cálculos de anchos de banda, frecuencias horizontal y frecuencias verticales. Para ello usaremos la resolución 512*384@60Hz la cual tiene un total de 620 píxeles horizontales y de 412 píxeles verticales, un refresco horizontal de 24,72kHz, un refresco vertical de 60Hz y un Píxel Clock de 15,3264MHz.


QUOTE
Ancho de banda (Pixel Clock)= Píxeles horizontales totales * Píxeles verticales totales * refresco

620*412*60 = 15326400 -> 15,3264MHz.

QUOTE
Refresco horizontal = Refresco vertical * píxeles verticales totales

60*412 = 24720 -> 24,72kHz

QUOTE
Refresco vertical = Refresco horizontal / píxeles verticales totales

24,72kHz / 412 = 0.06kHz -> 60Hz

Con las formulas anteriores y alguna más que podéis sacar a partir de ellas se puede calcular cualquier cosa referente a resoluciones.


Sobre el tema de crear “modelines” estoy más verde y básicamente cuando las creo me baso en LRMC (Low Resolution Modeline Calculador), las modelines de la ArcadeVGA y las modelines AdvMAME.

En este post explique en su día el como son las modelines de AdvMAME y como traducirlas a PowetStrip. Creo que parte de la información servirá para este post para que se entiendan cada uno de los valores de las modelines de AdvMAME...

QUOTE ([MaD] @ 30/7/2006, 20:53)
Por otro lado la modeline se puede calcular directamente a partir de la modeline de AdvMAME sin usar PowerStrip, el proceso seria así...

Tenemos una modeline de AdvMAME...

QUOTE
device_video_modeline medium_480x360 15 480 488 552 600 360 362 367 390 -hsync -vsync # H 25000 [Hz], V 64.1026 [Hz]

La estructura sería tal que así...

QUOTE
[device_video_modeline] [nombre de la modeline] [temporizador del reloj] [resolución horizontal] [resolución horizontal al frente] [resolución horizontal ajustar anchura] [resolución horizontal al fondo] [resolución vertical] [resolución vertical al frente] [resolución vertical ajustar anchura] [resolucion vertical al fondo] [polaridad sincronismo horizontal] [polaridad sincronismo vertical] # H [refresco horizontal] [Hz], V [refresco vertical] [Hz]

Así que para crear una resolucion para PowerStrip primero pondríamos un nombre y al final pondríamos igual [=]...

QUOTE
480x360 Arcade 25kHz 64Hz=

Ahora pondremos la resolución horizontal y una coma [,] al final...

QUOTE
480x360 Arcade 25kHz 64Hz=480,

Ahora pondremos la resta de la resolución horizontal al frente menos la resolución horizontal y una coma [,] al final...

488-480=8

QUOTE
480x360 Arcade 25kHz 64Hz=480,8,

Ahora pondremos la resta de la resolución horizontal ajustar anchura menos la resolución horizontal al frente y una coma [,] al final...

552-488=64

QUOTE
480x360 Arcade 25kHz 64Hz=480,8,64,

Ahora pondremos la resta de la resolución horizontal al fondo menos la resolución horizontal ajustar anchura y una coma [,] al final...

600-552=48

QUOTE
480x360 Arcade 25kHz 64Hz=480,8,64,48,

Ahora pondremos la resolución vertical y una coma [,] al final...

QUOTE
480x360 Arcade 25kHz 64Hz=480,8,64,48,360,

Ahora pondremos la resta de la resolución vertical al frente menos la resolución vertical y una coma [,] al final...

362-360=2

QUOTE
480x360 Arcade 25kHz 64Hz=480,8,64,48,360,2,

Ahora pondremos la resta de la resolución vertical ajustar anchura menos la resolución vertical al frente y una coma [,] al final...

367-362=5

QUOTE
480x360 Arcade 25kHz 64Hz=480,8,64,48,360,2,5,

Ahora pondremos la resta de la resolución vertical al fondo menos la resolución vertical ajustar anchura y una coma [,] al final...

390-367=23

QUOTE
480x360 Arcade 25kHz 64Hz=480,8,64,48,360,2,5,23,

Ahora debemos calcular el temporizador del reloj, para ello debemos multiplicar el refresco vertical redondeado sin decimales * la resolución horizontal al fondo * la resolución vertical al fondo y dividir el resultado por 1000. El resultado que nos de debemos añadirlo a la línea junto a una coma [,] al final...

Refresco vertical = 64.1026
Refresco vertical redondeado sin decimales = 64
64 * 600 * 390 = 14976000
14976000 / 1000 = 14976

QUOTE
480x360 Arcade 25kHz 64Hz=480,8,64,48,360,2,5,23,14976,

Por ultimo nos queda añadir un ultimo numero que define la polaridad de los sincronismos y define si la imagen será progresiva o entrelazada. El 7 es para definir que los sincronismos son ambos negativos y la imagen es progresiva y el 15 es para definir que los sincronismos son negativos y la imagen es entrelazada. Como en nuestra modeline de AdvMAME no aparece la opción “interlace” la modeline es progresiva por lo que el valor es 7 y debemos añadirlo al final de la linea

QUOTE
480x360 Arcade 25kHz 64Hz=480,8,64,48,360,2,5,23,14976,7

Ya está, ya hemos terminado de traducir a mano una modeline de AdvMAME para PowerStrip.

Un saludo gente y a ver si os sirve la información.
20 respuesta(s) desde el 1/12/2006, 01:44