[Mini tuto] 240p con la integrada de tu placa. Juega mame pixel perfect (o casi)

Prologo.
Cuando hablamos de emulación con pcs y pcs emulatronicos, mucha gente no quiere/puede meter otro pc ademas del que ya tenemos en casa, que nos costó un buen dinero y no queremos mas chismes. Además, muchas veces, no sabemos a ciencia cierta si en el emulatronico no va a ir bien, y encima al lado tenemoa un "pepino" que va sobrado. Asi que este mini tuto va para los que querais aprovechar y usar vuestro pc principal para jugar mame, como si fueran las placas originales.

1.- ingredientes:
- 1 pc con grafica en placa, independiente de la que usais para jugar juegos pollote de ultima gen. Esa no se toca.
- El famoso e indispensable cable de vga a rgb.
http://retrocables.es/tienda/index.php? ... &id_lang=4
Imagen
-winmodelines. http://www.geocities.ws/podernixie/htpc/Modeline.zip

En el ejemplo de las fotos usaré mi pc de escritorio, con una amd hd 7770 y la intel hd 3000 integrada en la placa

Una vez descomprimido el programa, lo ejecutamos en modo administrador, pues toca partes del registro del driver grafico.

Lo primero que nos encontramos es esto:
Imagen
Donde pone pantalla (en mi caso Amd Radeon Hd 7700) elegimos la grafica a tratar, pulsamos en el desplegable, y en mi caso es Video 6: Intel hd graphics (o) Monitor PnP generico (dice esto, pues es donde tengo enchufado el cable para la tv de tubo)

Imagen

La ventana central, nos aparece en blanco, pues no hemos creado ningun modeline (seran uno por linea), asi que pulsamos abajo a la derecha, sobre Editar modeline...

En la ventana emergente, pulsamos ajustes basicos y seleccionamos tv ntsc (15khz 60hz)
Imagen

El resolucion (px): ponemos la resolucion deseada:
p.d 1.- En mi caso, uso una integrada intel, que no es compatible con bajas resoluciones (nativas) asi que hay que usar super resoluciones multiplicando varias veces la horizontal y respetando la vertical. En graficas ati/amd no es necesario.

Nuestra primera modeline, y una de las que mas usaremos es 1920x224

Imagen

Pulsamos Ok, bajamos a la siguiente linea y volvemos a pulsar editar modeline y añadimos las que nos hagan falta, teniendo en cuenta que la intel funciona siempre por encima de 1024x224.

Para este ejemplo creare 3 de las mas habituales, a saber:
1920x224
1280x224
1280x240
Quedando la cosa asi:

Imagen

pulsamos sobre guardar cambios y reiniciamos.

Al reiniciar, a mi, ya me muestra imagen en la pantalla de la tv:

Imagen

*Si por algun motivo no veis nada en la tv, volved a abrir winmodelines.
Seleccionar en pantalla de nuevo la grafica intel.
En opciones buscais vuestra pantalla secundaria (video 6: intel hd (monitor no generico)
En el recuadro de al lado, poneis una de las super resoluciones que habeis creado y pulsamos la flecha de la derecha de ese cuadro, pasando a ser esa la resolucion de la pantalla secundaria.

Imagen.


Y asi tendriamos imagen en la tv, para ver videos con media player clasic o ponernos a emular, que es lo que nos compete.

Parte 2 Mame:

Una vez tenemos todo guay de los pasos anteriores, no descargamos un mame con ui.
Puede ser otro mame distinto, pero hay que andar con los archivos ini y con ui, esto es mas sencillo. En este ejemplo usaremos mameui 0.195 de 64 bitios http://insertmorecoins.es/mamearcade-ma ... ts-no-nag/

Abrimos el mameui, configuramos directorios y demas, metemos sus roms, etc, vamos a un juego, pulsamos boton derecho sobre el nombre y seleccionarmos properties:

Imagen

p.d. tambien se puede poner como default, eso ya al gusto de cada uno.

En la pestaña General, nos fijamos en el apartado screen, donde nos indica la resolucion del juego elegido, en este caso es 384x224.
Imagen

Los que tengan una ati, con crear esa modeline es suficiente, los que tenemos intel, es un pelin mas complicado, pues hay que superar los 1024 de horizontal, asi que si multiplicamos 384x5, nos da 1920, asi que usamos nuestro modeline de 1920x224 para este juego.Lo mas importante es respetar siempre la resolucion vertical (224). Sabiendo esto, seguimos por las pestañas de imagen:
-En la pestaña Display, desmarcamos Enforce aspect ratio
Video mode, Direct3d, desmarcamos Use bilinear filtering pues no precisamos ningun filtro.
Imagen

-En la pestaña Advanced
Marcamos Triple Buffering y Wait for vertical sync

Imagen

-Por ultimo y mas importante, en la pestaña Screen:
Seleccionamos nuestra pantalla (en mi caso Display 7) si no estais seguros, poneis una y pinchais sobre resolution, si no sale nada, esa pantalla no esta enchufada.
Desmarcad Autoselect aspect
En resolution seleccionamos la super resolution que creamos con winmodelines, 1920x224 y marcamos Switch resolutions to fit, para que nos haga el cambio.
Imagen

Pulsamos aplicar, aceptar y lanzamos el juego.
El resultado, si quereis podeis postearlo con una foto.

Un saludo y gracias por leer este tochaco si has llegado hasta aqui.

Edit: gracias a @InsertMoreCoins por echarme un cable
Excelente explicación !!! Gracias Tomax!
Esta correcto y bien. Mejor que ver un video.
gamer10 escribió:Esta correcto y bien. Mejor que ver un video.

Ahora ya puedes usar tu cable y tu tv al 100%.
Gran tutorial .. eso , me gustaría ver un video .. cuando puedas :)
XeNoMoRPH escribió:Gran tutorial .. eso , me gustaría ver un video .. cuando puedas :)

De como se hace? O del resultado?
Tomax_Payne escribió:
XeNoMoRPH escribió:Gran tutorial .. eso , me gustaría ver un video .. cuando puedas :)

De como se hace? O del resultado?


Pues mmm , el resultado estaría bien jeje , si quieres ambas cosas .. también sería interesante
ole, estaba que queria ponerme y ya me lo has pueto a huevo, para meterle mano a la emulacion desde windows ,sobre todo para consolas hasta saturn, un saludo y gracias por compartir.
Tomax_Payne escribió:
gamer10 escribió:Esta correcto y bien. Mejor que ver un video.

Ahora ya puedes usar tu cable y tu tv al 100%.



Si ya uso un monitor tft 21", se ve genial y perfecto.

Si el problema era de la tv de marca salchichon, tengo que pillarme una sony, esas no fallan.
Buen tuto,gracias por el curro [beer]
salu2!!
Gran tutorial @Tomax_Payne , muy currado.
A ver si puedo sacar algo de tiempo y mirar si puedo pasarlo a wiki, que merece la pena. [oki]
Supongo que el driver tendrá un límite para poderle meter resoluciones. ¿Se podrían añadir al driver de la integrada unas 20 super resoluciones, o son muchas?

Digo 20 porque son las que está usando de momento el programador de la versión de retroarch que cambia "al vuelo" de resolución.
@joseman1000
No lo se, no he probado tantas, pero retroarch, las pruebas que he hecho no se ve nada en el crt, eso si, los juegos se ven maravillosos.

No lo he incluido aun, pues es mas complejo y quisiera ver esto primero.

Con las amd, hay mas de 20, con intel, no he necesitado mas de 3 o 4 super res, y no he probado las magic. La unica pega, es a la baja, ya que intel necesita mas de 20mhz de dotclock (1024x224).
solo un apunte, creo que este tutorial no funciona con tarjetas nvidia
jordigahan escribió:solo un apunte, creo que este tutorial no funciona con tarjetas nvidia


Mi placa no lleva nvidia, pero si tienes una nvidia para jugar, esto es complementario e independiente. Seguiras usando la nvidia para jugar y la integrada para mame.
segun tengo entendido los nvidia no son capaces de sacar los 15khz.
jordigahan escribió:segun tengo entendido los nvidia no son capaces de sacar los 15khz.


Que yo sepa, hasta las gforce serie 8000 si se podia, y a partir de ahi con un dongle, para que la grafica sepa que tiene una tv conectada.

No puedo ayudarte mas, pues no tengo placa con nvidia integrada.
Si por contra la tienes externa, las graficas son independientes.
Buen tutorial, solo un apunte: como super resolución es mejor usar 2560 en lugar de 1920, ya que es divisible entre 256 y 320, que son las más usadas.

Saludos.
Vlad escribió:Buen tutorial, solo un apunte: como super resolución es mejor usar 2560 en lugar de 1920, ya que es divisible entre 256 y 320, que son las más usadas.

Saludos.


Menudo dato fucker. En cuanto lo pruebe, lo cambio. Menos resoluciones a crear, esa me valdria para mas cosas.
Bravo Tomás.

Sin duda un tuto la mar de entendible que hasta un zapato como yo lo ve claro, y además un aporte que hará que muchos tengamos aún más en cuenta nuestros queridos CRT.

[beer]
Vlad escribió:Buen tutorial, solo un apunte: como super resolución es mejor usar 2560 en lugar de 1920, ya que es divisible entre 256 y 320, que son las más usadas.

Saludos.



La verdad que a partir de 700 lineas o asi, da bastante igual, la TV no va a poder mostrar mas
theelf escribió:
Vlad escribió:Buen tutorial, solo un apunte: como super resolución es mejor usar 2560 en lugar de 1920, ya que es divisible entre 256 y 320, que son las más usadas.

Saludos.



La verdad que a partir de 700 lineas o asi, da bastante igual, la TV no va a poder mostrar mas

Cierto, pero se busca que la resolución de la pantalla sea múltiplo de la resolución original, para evitar el "shimmering" cuando se hace scroll. No se explicarlo bien, pero se hace bastante evidente y molesto cuando ocurre.
Vlad escribió:
theelf escribió:
Vlad escribió:Buen tutorial, solo un apunte: como super resolución es mejor usar 2560 en lugar de 1920, ya que es divisible entre 256 y 320, que son las más usadas.

Saludos.



La verdad que a partir de 700 lineas o asi, da bastante igual, la TV no va a poder mostrar mas

Cierto, pero se busca que la resolución de la pantalla sea múltiplo de la resolución original, para evitar el "shimmering" cuando se hace scroll. No se explicarlo bien, pero se hace bastante evidente y molesto cuando ocurre.



Es que sea multiplo o no, es irrelevante, porque la TV mostrara lo que pueda, y normalmente es entre 380 y 600 lineas maximo

Da igual que uses 1920, 1021, 2560 o 1236 porque tu TV mostrara lo mismo
@theelf
Si no pongo multiplo, se me sale la imagen por todos lados o tengo franjas negras.
@Tomax_Payne enhorabuena por el curro, muy bien explicado todo.
Gracias!
@Tomax_Payne

Eso no tiene nada q ver, la resoluvion la ajustas en el panel de la intel o con winmodelines para q quede bien

Luego el emulador es el encargado de estirar la imagen. Si por ejemplo, usas mame con ddraw, el maximo que podras multiplicar horizontalmente es 3

O sea, que si es 256 lo maximo seran 768, si es 320, seran 960, pero si usas d3d, podes estirar al maximo, sin nada raro

Lo mismo aplicara a otros emus, como kega, que si usas integer scaling, redondeara a la baja a la entera mas cercana


Ea un tema de configuracion,no de que por no ser multiplo, vallas a tener tearing
Gran tutorial! Muchas gracias!
joseman1000 escribió:Supongo que el driver tendrá un límite para poderle meter resoluciones. ¿Se podrían añadir al driver de la integrada unas 20 super resoluciones, o son muchas?

Digo 20 porque son las que está usando de momento el programador de la versión de retroarch que cambia "al vuelo" de resolución.


Hay una versión de retroarch que cambia las resoluciones al vuelo? Primera noticia que tengo... Algún enlace que pueda mirar?

Tomax_Payne escribió:@joseman1000
No lo se, no he probado tantas, pero retroarch, las pruebas que he hecho no se ve nada en el crt, eso si, los juegos se ven maravillosos.


Quieres decir que con retroarch te funcionan los juegos pero no el menu? Tendrás que usar el menú clásico (se llama rgui)

Acabo de probarlo y me va sin problema (eso sí, a otra resolución). Te pego las líneas importantes de retroarch.cfg
menu_driver = "rgui"
video_windowed_fullscreen = "false"
video_fullscreen = "true"
video_fullscreen_x = "3840"
video_fullscreen_y = "480"
custom_viewport_width = "3840"
custom_viewport_height = "480"
aspect_ratio_index = "22"
video_smooth = "false"
video_scale_integer = "true"
@Tomax_Payne Muchas gracias por abrir este hilo!!

Tengo la misma gráfica, una Intel HD 3000 y hace unas semanas que estoy investigando si existe una solución similar a RetroPie en Windows, lo cierto es que sí, hay un par que yo sepa, a continuación os las dejo por si no las conocíais y queréis probarlas para comprobar si se ven correctamente a 15Khz.

RetroCake
https://github.com/Flerp/RetroCake/releases

Portable Game Station
https://github.com/HerbFargus/Portable-Game-Station/releases

Saludos!
Ronbin escribió:Gran tutorial! Muchas gracias!

Hay una versión de retroarch que cambia las resoluciones al vuelo? Primera noticia que tengo... Algún enlace que pueda mirar?


Así es, desde la nightly de anoche ya está incluido el cambio de resoluciones automáticas en retroarch. Por ahora solo en windows (desde xp a 10). El autor indica que se debe usar crtemudriver, pero yo creo que con el método de @Tomax_Payne , metiendo esas super resoluciones con winmodelines debe funcionar con la intel integrada.

Hay poca documentación todavía, pero os pongo por aquí lo he ido viendo estos días conforme avanzaba el desarrollo.

Hilo donde surgió el desarrollo:
En este hilo empezó todo


Documentación(en construcción).

Las modelines necesarias aún no aparecen en el enlace de documentación anterior, pero puedes hacerte una idea de cuáles necesitas desde la documentación de este github.
joseman1000 escribió:Las modelines necesarias aún no aparecen en el enlace de documentación anterior, pero puedes hacerte una idea de cuáles necesitas desde la documentación de este github.


Qué pasada no tenía ni idea, con el añadido del cambio de reoluciones nativas al vuelo para RetroArch más Emulationstation o cualquier otro, y todo bajo Windows en un PC, mejor imposible. [beer]
joseman1000 escribió:Así es, desde la nightly de anoche ya está incluido el cambio de resoluciones automáticas en retroarch. Por ahora solo en windows (desde xp a 10). El autor indica que se debe usar crtemudriver, pero yo creo que con el método de @Tomax_Payne , metiendo esas super resoluciones con winmodelines debe funcionar con la intel integrada.

Hay poca documentación todavía, pero os pongo por aquí lo he ido viendo estos días conforme avanzaba el desarrollo.

Hilo donde surgió el desarrollo:
En este hilo empezó todo


Documentación(en construcción).

Las modelines necesarias aún no aparecen en el enlace de documentación anterior, pero puedes hacerte una idea de cuáles necesitas desde la documentación de este github.

Gran noticia! Esto vendrá bien para juegos como el sonic2 que cambian de resolución durante el juego. De hecho veo que ayer publicaron un vídeo de ese mismo juego
https://www.youtube.com/watch?v=qKpZ8zREvDI

Yo ahora mismo uso attract mode como frontend. Y tengo configurados 2 scripts: retroarch_480 y retroarch_448. Lo que hacen estos scripts es cambiar la resolución de pantalla y luego ejecutar retroarch con el fichero de configuración del sistema elegido. Con esas 2 resoluciones tengo todas las consolas (me faltaría algún juego pal 288p, pero casi todo lo que juego es ntsc). Para arcades ya uso mame con resolución configurada para cada juego.
joseman1000 escribió:El autor indica que se debe usar crtemudriver, pero yo creo que con el método de @Tomax_Payne , metiendo esas super resoluciones con winmodelines debe funcionar con la intel integrada.


Así es, he estado leyendo nuevamente que solo funciona con ATI y CRTEmudriver, una lástima que no funcione con gráficas AMD y Nvidia más modernas para los que queremos usar un único PC conectado tanto a uno o dos LCD como al CRT.

Al menos con la iGPU del los Intel funciona el tema de emitir a 15kHz según el tutorial de @Tomax_Payne, pero, ¿alguno a probado ya el cambio de resolución de RetroArch con las gráficas Intel integradas en los procesadores?
@extremorpg
Yo lo probé, y no cambia, version 1.7.3
Mantiene la res de pantalla y estira la que pongas como custom
Gracias por el tutorial!

Funciona igual para el Mess??
(El Mess es el mame pero emulando ordenadores y consolas )

Gracias!
Kega fusion cambia resolucion al vuelo
theelf escribió:Kega fusion cambia resolucion al vuelo

En el sonic 2, por ejemplo, cambia de progresivo a entrelazado dentro del juego cuando sale el modo dos jugadores a pantalla partida? Si es así no lo sabía.
Tomax_Payne escribió:@extremorpg
Yo lo probé, y no cambia, version 1.7.3
Mantiene la res de pantalla y estira la que pongas como custom


Qué lástima leer que no funciona con las Intel }:/

Doy por hecho que activaste la opción en RetroArch

User Interface - Show Advance Settings ON
Video - CRT SwitchRes ON - CRT Super Resolution 2560

Un saludo y gracias por responder!
con esto y ademas usando una capturadora de tv se podria conseguir resoluciones 240p en consolas como Xbox 360 y PS3 o habria mucho input lag? por supuesto las consolas conectadas a la capturadora y esta al PC, mas que nada por los shmups de Cave u otros juegos en 2d.
SSJBlueVegeta escribió:con esto y ademas usando una capturadora de tv se podria conseguir resoluciones 240p en consolas como Xbox 360 y PS3 o habria mucho input lag? por supuesto las consolas conectadas a la capturadora y esta al PC, mas que nada por los shmups de Cave u otros juegos en 2d.


Es posible. Yo veo las pelis dvd y hdrip a 1920*240 sacando las scanlines naturales de la tv sin parpadeo.
Uso media player clasic que maximiza en la pantalla 2 y ajusto la imagen con el teclado numerico.
Desde entonces apenas veo video-cd.
@SSJBlueVegeta
Ufff, a esa propuesta yo le veo input lag seguro...ya hace 20 años cuando capturaba con bt878 habia lag y era todo analógico...
Saludos.
@Tomax_Payne tengo previsto hacerme con una capturadora, cuando la tenga ya comentare que tal, la verdad es que hay mucho catalogo 2d en esas consolas y aun no pueden emularse bien, si se pueden usar y es jugable asi, seria todo un puntazo.

@melliug yo tuve una Pinnacle, y para jugar no servia... el lag era muy bestia, y hacia todo injugable, pero hoy dia veo gente haciendo tutoriales usando capturadoras, y que les va practicamente perfectas, por eso me gustaria probar, seria una delicia para el catalogo 2d, aunque hay muchos que ya tienen port a Windows
Tomax_Payne escribió:@extremorpg
Yo lo probé, y no cambia, version 1.7.3
Mantiene la res de pantalla y estira la que pongas como custom


Me ha dicho el creador de esta opción para RetroArch que las Intel HD deberían funcionar en Linux, que no ha probado demasiados modelos pero ha testeado las Intel HD. También me ha dicho que no es necesario crear modelines personalizadas con xrandr en Linux, que incorpora un generador de modelines que crea y elimina las modelines al vuelo.

https://youtu.be/OVKw_jJmAYY

En definitiva, en Windows solo funciona con las ATI y CRTEmudriver, en Linux las ATI e Intel presuntamente y Nvidia en ninguno de los sistemas operativos a no ser que se consiga en algún momento bajo Linux.

Actualmente no tengo medios para probarlo, si alguno de vosotros tiene la posibilidad de instalar RetroArch o RetroPie en alguna distribución Linux activando la opción correspondiente y probar en su CRT estaría muy agradecido de leeros!
@extremorpg

Joder, cacho de tearing y mal escalado tiene en ese video el tio, en el mario se nota cantidad
@SSJBlueVegeta
Los juegos de xbox360 y ps3 por muy reediciones de clásicos que sean ya vienen escalados y preparados para verse en esas consolas, no puedes sacar 240p limpios.

@extremorpg
Ahora mismo no puedo probarlo, pero te digo con 99% de probabilidades que en linux con intel tiene que funcionar bien. Yo lo hago "a mano" en linux con una intel y sin problemas. Esta semana anbo bastante liado pero intentaré buscar un hueco.
@theelf Seguramente está en pruebas :)

@Ronbin Yo probé RetroArch en Debian con la Intel HD 3000 en un LCD, me faltaría probar la nueva opción del SwitchRes en el CRT.

Gracias por intentar probarlo!

Lo curioso es que en uno de los vídeos el desarrollador dice lo siguiente cuando le preguntan qué Hardware está usando:

"This is on a Core2duo E8400 with an ATI card. This does also work with Nividia and Intel cards."
"This version is not available ATM. My Windows version has made it into official Retroarch which requires an ATI card. This Linux version has been tested on Intel HD series, ATI and an Nviia. It users the X11 video driver and should be comparable with all if not most graphics cards built within the last 8 years.
Estoy intentando probar el cambio de resoluciones de retroarch en linux pero no encuentro la opción... A lo mejor aún no la han añadido en linux?
Imagen
@Ronbin Primero tienes que entrar en User Interface y activar Show Advance Settings ON, tal vez tengas que reiniciar RetroArch.
Una vez activada la opción anterior, en el apartado Video podrás activar la opción CRT SwitchRes ON y verás también debajo CRT Super Resolution 2560, esto último no se puede cambiar desde ahí, tal vez desde algún archivo pero esa es la super resolución más adecuada y no habría que cambiarla.

Espero que te sirva y a ver si funciona en Linux, según el desarrollador bajo este sistema funcionan los tres fabricantes de gráficos Oooh

This is on a Core2duo E8400 with an ATI card. This does also work with Nvidia and Intel cards.
This version is not available ATM. My Windows version has made it into official Retroarch which requires an ATI card.
This Linux version has been tested on Intel HD series, ATI and an Nvidia. It users the X11 video driver and should be comparable with all if not most graphics cards built within the last 8 years.
Hola @extremorpg,

¿Que debian usas para 15khz? ¿esta modificada? ¿Con solo poner el modeline en xrandr vale?

Predona por ser tan preguntón
@erosteko Nada, no te preocupes por preguntar :)

Lo que estamos comentando en los últimos mensajes es un nuevo añadido para RetroArch que permite emitir a 15kHz y cambiar a las resoluciones nativas de cada sistema al vuelo; y supuestamente sin tener que modificar la distribución de Linux ni tampoco crear modelines, todo esto según lo que he leído en los comentarios del desarrollador en su candal de youtube https://www.youtube.com/channel/UCT73WExrpXVzgeo33hOvvYw

Digo supuestamente porque aún no lo he podido probar de primera mano pero cuando me ponga lo haré con Debian 9 y quizá también pruebe Raspbian y Lubuntu, el desarrollador también ha probado groovyarcade basado en Arch Linux.

@joseman1000 fue el primero que nos comentó esta opción que está desarrollando para RetroArch, puedes leernos apartir de este mensaje de él. https://www.elotrolado.net/viewtopic.php?p=1745663665
73 respuestas
1, 2