https://zonaarcade.forumcommunity.net/?t=54200253

Buenas,

Si no tienes WindowsXP de aquí para abajo no sirve para mucho.

Enlaces de interes:

Tutorial original Calamity – descarga de drivers y vmmaker

Tutorial ZonaArcade driver Calamity generando INI´s (no optimizado Hyperspin)

Foro Groovymame (en inglés)

Hilo oficial de información de instalación y configuración de todo esto (en inglés)

Repositorio Groovymame en Googlecode

Información técnica – nivel avanzado ehh

Drivers modificados por mi para Sapphire HD4770 (Catalyst 9.3 y Windows XP32)

¿Por qué?:

Todos tenemos claro que los 15khz son necesarios para el uso de monitores arcade/TV CRT pero muchos no tienen en cuenta la importancia del refresco, de los Hz de cada juego arcade.

Un romset tiene unos 600 modelines únicos entre resoluciones y refrescos. Esta cifra excede por mucho la capacidad de cualquier driver de video. Por dicho motivo hay que reducirlos a los más importantes o usar unos modos que crean dinamicamente la resolución.

Creo que podemos clasificar a los usuarios de mame en diversos grupos según como tienen ajustado el video/refresco:

– 15khz con CRT y mame configurado todo a 640×480 entrelazado
– 15khz con CRT y soft15
– LCD con mame a lowres
– LCD con mame a 1080p (con o sin strech)
– 15 a 31khz CRT con Groovymame
– LCD con mame a 1080p + scanlines / hlsl


Esto es a grandes rasgos, hay LCD que adminten 15khz, por ejemplo. Luego los Trifecuencia o PC monitor pueden estar dentro de cualquier de estas categorías.

Esta claro que hay usuarios más o menos puristas pero no todo se basa en eso, también está la calidad. En ejecutables MAME habituales no tienes capacidad de ajustar los refrescos dinamicamente, normalmente solo estaticamente las resoluciones mediante inis. Esto hace que muchos juegos de 59 o 61hz se fuercen a 60hz. Cuando esto ocurre los scroll no son suaves. Como ejemplo 1944 donde aparece en el degradado del mar lineas raras derivadas del cambio de refresco.

Para evitar esto se suele activar el triplebuffer y ya es cuando terminamos de fastidiar el asunto entre la sincronización audio y video.

Tomemos un caso más extremo, MORTAL KOMBAT. MK necesita una resolución de 400×254 y un refresco de 54.815170. Por tanto jugándolo en sistemas 15khz o LCD a 60hz hace que el juego tenga que ser ACELERADO hasta 60hz. Eso quiere decir que el juego funciona al 110% de velocidad y no al 100% requerido. Todo estará acelerado un 10% respecto al arcade original.

La otra manera que tiene Mame de subir los 54hz hasta 60hz seria sin acelerar el juego pero repitiendo 6 fotogramas cada segundo. En esta configuración (no Throthle) el juego va a su velocidad normal pero debido a la repetición de fotogramas tenemos unos scroll a saltos y una nefasta experiencia de juego.

Por tanto se haga lo que se haga arreglamos una cosa y empeoramos otra. La única solución perfecta es correr el juego a su refresco nativo.


¿Que diferencian los drivers modificados por Calamity de los drivers originales de ATI?

Principalmente tres cosas:
1.- soportan más modelines.
2.- durante la instalación incluyen de serie modelines «base (esto último similar a soft15khz).
3.- parcheados para soportar nativamente modos de baja resolución.

¿Entonces por qué es tan bueno?
Al tener más modelines disponibles si usamos cualquier mame podemos tener más ini´s estáticos y por tanto más juegos se podrán jugar a sus resoluciones y refrescos nativos.

Se integran perfectamente con el software VMMaker + la versión Groovymame que nos permite hacer funcionar el romset con cientos de modelines reducidas a decenas de manera «mágica». Este sistema es muuuucho mejor que usar cualquier otro mame con unos pocos modelines estaticos.

Nos saltamos el bug de hyperspin de no querer funcionar si tenemos muchos modelines. Ni siquiera arranca, hyperspin no da error alguno pero no se ejecuta si encuentra demasiados modelines en el registro. Esto es así con versiones 1.0 y 1.3

¿Entonces esto solo funciona con ATI?
La respuesta fácil es decir SI.

¿Y estoy obligado a usar Groovymame?
No, pero es una tonteria no usarlo por las ventajas que da.

¿Y solo funciona con Hyperspin?
No, funciona con cualquier frontend que soporte ejecutar mame por línea de comandos. ¿Te gusta mala? Pues mala.

¿Que hardware necesito?

Hay muchas más pero voy a poner las que seguro funcionan y no dan problemas para obtener 15khz.

Ati Radeon 9000, 9100, 9200, 9250, 9500, 9550, 9600, 9700, 9800, ArcadeVGA 9200/9250, 9500, 9550, 9600, 9700, 9800, X300, X550, X600, X700SE, HD 4230, HD 4250, HD 4350, HD 4550, HD 4570, HD 4580, HD 4650, HD 4670, HD 4730, HD 4750, HD 4800, HD 4850, HD 4870, HD 4890

y luego modificando los drivers se incluyen HD 4770 y la HD 4850×2 y HD 4870 x2.

En negrita las que yo he probado y van al 100% y en rojo negrita las que son tomadas como «referencia».

¿Que software necesito?

Driver Calamity. Los tenemos para XP32 y XP64. Para HD4770 usar los que yo he modificado (ver arriba)
VMMaker 1.3C


¿Entonces no necesito el software 15khz?
No, no lo necesitas.

¿Entonces no necesito el software Winmodelines?
No, no lo necesitas.

¿Entones no necesito el software Quickres?
No, no lo necesitas.


Proceso de instalación:

Tener XP instalado.
Eliminar del menu «inicio» el software soft15khz, quickres o cualquier otro que esté relacionado con el video.
Desinstalar el driver de video actual que tengamos.
Nos pedirá reinciar. Decirle que no y apagar el ordenador.
Colocar la tarjeta en su ranura correspondiente.
Dejar solo la tarjeta de video ATI. De momento no tener dos tarjetas en el PC.
Opcional -> Si controlamos la BIOS entra en la misma y seleccionar que se arranque primero la tarjeta de video ATI (bien escoger en INIT DISPLAY FIRST: PCIe, AGP según nuestro tipo de tarjeta)
Conectamos un LCD al puerto VGA/DVI de la ATI.
Encender el ordenador.
Windows detecta la nueva tarjeta y sale el instalador de drivers. Le damos a cancelar.
Vamos a donde tengamos el driver de calamity ejecutamos el instalador.
Al terminar nos pide reiniciar. Le decimos que NO.
Apagamos el ordenador.
Quitamos el LCD, repito, quitamos el LCD.
Conectamos nuestro monitor Arcade o TV CRT via RGB a la salida VGA de la tarjeta. Si la tarjeta es de la serie HD4xxx puede no tener salida VGA y nos toca usar un adaptador DVI-VGA.
¿Si solo tengo DVI a que puerto conecto? ufff si hay dos… a uno y si no se ve al otro (es lo que hay)
Encendemos el ordenador y ya tenemos que tener 15khz con unas resoluciones tipo.

No funciona ¿y ahora que?
Siempre funciona pero a veces se puede poner tonto. Asegurate de haber realizado TODOS los pasos. Si no ves nada en el CRT conecta el LCD via DVI y verás el escritorio de windows.
Pon la resolución en 800×600.
Apaga el ordenador.
Conecta el CRT via VGA o con el adaptador DVI-VGA y enciende el ordenador.
Listo.

Que no, que no funciona ¿y ahora?
Si no ves nada en el CRT conecta el LCD via DVI y verás el escritorio de windows.
En la carpeta del driver de Calamity ejecuta ArcadeOSD.
Selecciona la resolución 640×480 y «set as desktop».
Apaga el ordenador.
Conecta el CRT via VGA o con el adaptador DVI-VGA y enciende el ordenador.
Listo.

Sigue sin funcionar ¿me tiro por un puente?
Algo has hecho mal, pregunta por aquí.

FIN DE LA PRIMERA PARTE – OBTENER 15KHZ

SEGUNDA PARTE – GROOVYMAME / VMMAKER

Ya tenemos los 15khz de una manera similar al software Soft15khz pero sin uso de dicho programa. Ya podemos jugar pero no pares aquí…. continua hacia la luz :rolleyes:

Ahora toca optimizar y sacar partido al driver modificado y nuestra ati.

¿Que es VMMaker?:
Que mejor que citar la info original

QUOTEVideoModeMaker (VMMaker.exe), es una utilidad de configuración que nos permitirá personalizar la lista de modos de vídeo disponibles (modelines) de acuerdo con nuestras necesidades, así como configurar correctamente el emulador MAME (cualquier versión que soporte XML) para asignar los modos de vídeo particulares de cada juego / sistema de forma automática. El configurador no trabaja con modelines precalculados, sino que los genera para cada situación, en función de parámetros editables por el usuario.
Actualizar VMMaker:
Buscamos la carpeta donde descomprimimos el driver de calamity y pegamos encima la actualización de VMMaker 1.3C(ver software necesario). Este punto es importante. Si lo hemos hecho bien nos dirá que vamos a reemplazar algunos ficheros. OK.

Entender VMMaker:
Hay varios métodos, cito la info original

QUOTE[Tabla estática vs tabla dinámica vs tabla mágica]

VideoModeMaker soporta tres modos de funcionamiento, según queramos generar una tabla de modos de vídeo estática, dinámica o mágica. Esta función se controla desde la variables «ModeTableMethod_XML» y «ModeTableMethod_custom», que se aplican a los modos de vídeo obtenidos de MAME.xml y ReslList.txt, respectivamente.

La tabla de modos dinámica está pensada para usarse con GroovyMAME.
La tabla de modos mágica está pensada para usarse con GroovyMAME + Hyperspin.
Para cualquier otra versión de Mame, usaremos la tabla estática.

La tabla de modos estática respeta la resolución y el refresco original de cada modo de vídeo. La desventaja es que esto genera cientos de modos de vídeo diferentes por lo que hay que reducir la lista para que no se supere la capacidad del driver de vídeo.

La tabla de modos dinámica respeta la resolución pero ignora el refresco, asignándole el más cercano posible a 60 Hz. Luego GroovyMAME recalcula cada modo de vídeo con el refresco correcto para el juego seleccionado, en tiempo de ejecución. Esto reduce drásticamente la tabla de modos de vídeo requerida eliminando duplicidades.

La tabla de modos mágica ignora la resolución horizontal y el refresco, y sólo conserva la resolución vertical, produciendo de este modo resoluciones «comodín» del tipo 1234x. Luego GroovyMAME genera el modeline correcto en tiempo de ejecución, siendo el resultado indistinguible del método anterior, con la ventaja de que redicimos increíblemente la cantidad de modos de vídeo necesarios. Mediante este método podemos generar todas las resoluciones y refrescos necesarios para emular correctamente la totalidad de los juegos de MAME a partir de unas pocas decenas de modos de vídeo (los necesarios para definir correctamente la resolución vertical). Este método es de carácter experimental, por lo que puede fallar en determinados sistemas.
Por tanto si no se quiere usar Hyperspin basta con leerse el tutorial que esta en Zona Arcade usando INI´s estáticos (ver links de interés). Esto nos permite usar cualquier versión de ejecutable mame pero ¿y si queremos usar Hyperspin?

Hasta que no llegue HS 2.0 vamos a estar con el bug del número de modelines. Hyperspin no arranca si detecta más de 70 u 80 modos de vídeo distintos. La solución es fácil…. reducir el número de modos pero recordemos:

– El romset tiene casi 600 modos de video distintos
– Los drivers ati modificados nos permiten usar bien 200 o bien 120 modos (según versión escogida).
– Ya estamos descartando y reduciendo la lista de 600 a 120
– Si hyperspin nos obliga a tener unos 80 modos hay que descartar otros 40 modos.
– En total habremos descartado 540 modos de video distintos.
– Mame deberá usar modos cercanos, refrescos cercanos, modos entrelazados, etc…. para todos los juegos donde no dispongamos de modos y refrescos nativos. Volvemos a generar problemas y perder la extrema suavidad de los modos/refrescos nativos.

Para solucionar esto tenemos dos posibilidades con VMMaker junto al uso de la version Groovymame:

Tabla dinámica: En mi caso con romset 148u2 puedo tener todos los modos con unos 120 o 130 modelines.

Tabla mágica: En mi caso con romset 148u2 puedo tener todos los modos desde 27 a 42 modelines, según configure.

Vemos que la tabla dinámica es excepcional al agrupar 600 en 130 pero no es suficiente: hay que usar la tabla mágica.

Nos pasamos a Groovymame:

Lo primero es ir a nuestra carpeta de HYPERSPIN\emulators\mame\ y hacer una copia de seguridad de nuestro mame.exe y nuestro mame.ini. Una vez los tengamos guardados en lugar seguro procedemos a borrarlos de la carpeta emulators\mame.

Ahora hay que borrar todos los archivos ini que se hayan generado en la carpeta INI (uno para rom), asi nos quitamos problemas.

Luego bajamos al repositorio de Groovymame/Groovyarcade que está disponible en Googlecode (ver arriba links interés) y nos bajamos el groovymame windows correspondiente a nuestra versión de romset. Si no existiera tenemos la opción de compilarlo nosotros mismos o de actualizar nuestro romset, a gusto del consumidor.

Una vez bajado el archivo lo descomprimimos y copiamos el exe en la carpeta hyperspin/emulators/mame.
Para evitar complicaciones lo renombramos a mame.exe.

Creamos mame.ini nuevo:
Este mame tiene opciones propias por lo que no podemos usar nuestro archivo mame.ini antiguo (de hecho si has seguido los pasos ya lo has borrado de la carpeta… borralo si no lo has hecho)

clic INICIO –> EJECUTAR –> escribimos CMD y damos enter.

nos abre la «ventana dos» del sistema.
Ahora hay que ir a la carpeta donde tenemos mame.exe
Si teneís el pack Hyperspin de Arda escribis
QUOTEcd c:\hyperspin1.0\emulators\mame
y enter.
una vez en dicha carpeta ejecutamos
QUOTEmame -cc
Esto nos crea un archivo mame.ini nuevo y optimizado para Groovymame.
Listo. Ya podemos cerrar la ventana dos y verificamos en el explorador de archivos que tenemos un nuevo mame.ini en la carpeta.

Configurar VMMaker para Hyperspin:
En la carpeta donde descomprimimos vmmaker editamos con el bloc de notas el archivo vmmaker.ini

Lo primero es decirle donde está el ejecutable del mame, lo configuramos con nuestros datos:
QUOTE; Path for Mame executable, in case we want to extract xml information from it.

MameExe = «C:\Hyperspin1.0\emulators\mame\mame.exe»
Mame options lo dejamos sin tocar:
QUOTE; Mame options.

ListFromXML = 1 ; Processes Mame XML and get video mode list from it
GenerateXML = 1 ; Extracts XML from Mame (only needed once)
OnlyListMain = 0 ; Only list resolutions for games contained in MameMain.txt
GenerateInis = 0 ; Creates an ini file for each Mame game, in the IniPath folder
SDLMame = 0 ; Use SDLMame specific options
En MONITOR ORIENTATION lo normal es dejarlo sin tocar a no ser que tengamos monitor vertical:
QUOTE; Monitor orientation

MonitorHorizontal = 1 ; 0 = Rotating monitor: horizontal and vertical games at their native resolution
; Suitable for users that physically rotate their CRTs
; 1 = Horizontal monitor: horizontal games run at their native resolution and
; vertical games are rotated to fit in horizontal monitor

RotatingDesktop = 0 ; Specifies if both desktop and monitor are rotated

; Aspect ratio for vertical games on horizontal monitor
; 4:3 (keeps original aspect ratio)
; 3:3 (stretches to square format)
; 3:4 (stretches to full screen)
; h:v (custom aspect ratio)

VerticalAspect = «4:3»
En punto MONITOR inicialmente no vamos a tocar nada, eso irá para el próximo mensaje. Debe estar puesto en CUSTOM

En MODELINE GENERATOR buscamos las dos líneas siguientes y las dejamos así:

QUOTEModeTableMethod_Custom = 0
ModeTableMethod_XML = 2
Cerramos y guardamos vmmaker.ini
Ejecutamos vmmaker.exe y escaneará nuestra version de mame para averiguar todos los modos y refrescos de video del romset. Genera los modelines mágicos. Y nos hace un resumen al final.

Todo el proceso lleva unos 30 segundos.

Pide reiniciar. Le hacemos caso.

—–

Abrimos el explorador de archivos y nos vamos otra vez a la carpeta Hyperspin\Emulators\mame y editamos con el bloc de notas el archivo mame.ini que hemos generado antes, que está virgen.

No hay que tocar mucho ya que viene muy optimizado. Lo más importante seria dejarlo de esta manera:

QUOTE#
# CORE SWITCHRES OPTIONS
#
modeline 1
monitor custom
orientation horizontal
connector auto
interlace 1
doublescan 0
cleanstretch 0
changeres 1
powerstrip 0
lock_system_modes 1
lock_unsupported_modes 1
refresh_dont_care 0
dotclock_min 0
sync_refresh_tolerance 2.0
frame_delay 0
lcd_range auto
crt_range0 15625-16200, 49.50-61.00, 2.000, 4.700, 8.000, 0.064, 0.160, 1.056, 0, 0, 192, 288, 448, 576
crt_range1 auto
crt_range2 auto
crt_range3 auto
crt_range4 auto
crt_range5 auto
crt_range6 auto
crt_range7 auto
crt_range8 auto
crt_range9 auto
Nota Pro: ¿Por qué varios CRT Range? Pues porque podemos tener monitores multifrecuencia o incluso TV normales que sean problematicos en frecuencias entre NTSC y PAL. Por eso, y tomando un ejemplo de Calamity, podemos dividir nuestro CRT Range en varios trozos. De esta manera podemos ajustar la geometria especifica de algún refresco problemático o incluso anular refrescos que no queramos que se usen.

monitor_specs0 15625-16200, 49.50-54.90, 2.000, 4.700, 8.000, 0.064, 0.160, 1.056, 0, 0, 288, 448
monitor_specs1 15625-16200, 54.90-56.00, 2.000, 4.700, 8.000, 0.064, 0.160, 0.896, 0, 0, 288, 448
monitor_specs2 15625-16200, 56.00-65.00, 2.000, 4.700, 8.000, 0.064, 0.160, 1.056, 0, 0, 288, 448


QUOTE#
# WINDOWS PERFORMANCE OPTIONS
#
priority 0
multithreading 1
numprocessors auto
profile 0
bench 0
QUOTE#
# WINDOWS VIDEO OPTIONS
#
video d3d
numscreens 1
window 0
maximize 1
keepaspect 0
prescale 1
waitvsync 0
menu 0

#
# DIRECTDRAW-SPECIFIC OPTIONS
#
hwstretch 0

#
# DIRECT3D-SPECIFIC OPTIONS
#
d3dversion 9
filter 0
QUOTE#
# FULL SCREEN OPTIONS
#
triplebuffer 0
switchres 1
full_screen_brightness 1.0
full_screen_contrast 1.0
full_screen_gamma 1.0
Y para las mentes inquietas las opciones explicadas:

QUOTE#
# CORE SWITCHRES OPTIONS
#
-modeline Generate modelines for arcade monitors
-monitor Monitor type, e.g.: generic_15, arcade_15, lcd, custom, etc.
-orientation Monitor orientation (horizontal|vertical|rotate)
-connector [Linux] video card output (VGA-0|VGA-1|DVI-0|DVI-1)
-interlace Enable interlaced scanning when necessary
-doublescan Enable double scanning when necessary (unsupported under Windows)
-cleanstretch Force integer scaling, 0 means automatic selection
-changeres Enable dynamic in-game video mode switching
-powerstrip Use Powerstrip API for dynamic setting of custom video timings
-lock_system_modes Lock system (non-custom) video modes, only use modes created by us
-lock_unsupported_modes Lock video modes reported as unsupported by your monitor’s EDID
-refresh_dont_care Ignore video mode’s refresh reported by OS when checking ranges
-dotclock_min Lowest pixel clock supported by video card, in MHz, default is 0
-sync_refresh_tolerance Maximum refresh difference, in Hz, allowed in order to synchronize
-frame_delay Delays the start of each frame to minimize input lag (0-9)
-lcd_range Add custom LCD range, VfreqMin-VfreqMax, in Hz, e.g.: 55.50-61.00
-crt_range0 Add custom CRT range, see documentation for details.
-crt_range1 Add custom CRT range
-crt_range2 Add custom CRT range
-crt_range3 Add custom CRT range
-crt_range4 Add custom CRT range
-crt_range5 Add custom CRT range
-crt_range6 Add custom CRT range
-crt_range7 Add custom CRT range
-crt_range8 Add custom CRT range
-crt_range9 Add custom CRT range
Grabamos los cambios y listo. Hemos terminado (es mentira :P )

que siiii……. que ya podemos jugar :D

pero no hemos terminado.

Llegados hasta aquí lo mejor es jugar un rato a diversos juegos que al final de esto se trata ¿no?

Cada vez que arranquemos un juego en mame nos va a mostrar en la ventana azul de información la resolución y refresco originales del juego y la resolución y refresco escogidos por groovymame.

FIN DE LA INSTALACION Y CONFIGURACION

Modificado por Cosgarion – 21/4/2013, 12:53  https://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fzonaarcade.forumcommunity.net%2F%3Ft%3D54200253%26p=378744971&layout=button_count&show_faces=false&width=101&action=like&colorscheme=light&height=21 multiquote » Top
Cosgarion Enviado el: 20/4/2013, 14:21
Grupo: UsuarioMensajes: 469Procedencia: Murcia
Estado: 

PARTE DOS – OPTIMIZACION DE LA PANTALLA

Si os habeís leido toda la parte anterior os sonará que en dos archivos ini hemos hablado de monitor CUSTOM, concretamente en vmmaker.ini y en mame.ini

VMMAKER.INI

El monitor «CUSTOM» es donde podemos poner nuestros valores personalizados respecto al monitor que tengamos en nuestra maca. Calamity indica un monitor genérico con estos valores:

Dentro del archivo VMMAKER.INI

QUOTEMonitorType = «CUSTOM»
QUOTEmonitor_specs_0 = «15625-16200, 49.50-61.00, 2.000, 4.700, 8.000, 0.064, 0.160, 1.056, 0, 0, 288, 448»
Pero a lo mejor nuestro monitor es distinto, es capaz de subir por encima de 16200khz, o quizás no, o quizás pasa de 61hz….. esto no se puede saber sin prueba error. Lo que yo puedo confirmar es que con tres monitores los valores «Custom» genericos me han funcionado sin tener que modificarlos.

¿modificarlos? Si claro, no es sencillo pero se puede.

QUOTE; monitor_specs0-6 HfreqMin-HfreqMax, VfreqMin,VfreqMax, HFrontPorch, HSyncPulse, HBackPorch, VfrontPorch, VSyncPulse, VBackPorch, HSyncPol, VSyncPol, ActiveLinesLimit, VirtualLinesLimit
;
; * HfreqMin-HfreqMax: Minimum and maximum horizontal frequency, in Hz. Defines the range of horizontal frequencies the monitor is capable to sync.
; The higher the horizontal frequency, the higher the vertical resolution available for the same vertical refresh.
; The higher the horizontal frequency, the higher the vertical refresh available for the same vertical resolution.
; The higher the horizontal frequency, the lower the horizontal amplitude of active video (narrower picture).
;
; * VFreqMin-VfreqMax: Minimum and maximum vertical frequency, in Hz, Defines the range of vertical frequencies the monitor is capable to sync.
;
; * HFrontPorch, HSyncPulse, HBackPorch: Horizontal timing and geometry, values in µs
;
; * VfrontPorch, VSyncPulse, VBackPorch: Vertical timing and geometry, values in ms
;
; * HSyncPol,VSyncPol: sync polarities, 0 = negative, 1 = positive.
;
; * ActiveLinesLimit: Vertical resolutions until ActiveLinesLimit value included, are generated as progressive, regardless the possibility
; of obtaining the required vertical refresh value.
;
; * VirtualLinesLimit: Vertical resolutions above ActiveLinesLimit and below VirtualLinesLimit are virtualized, that is, an interlaced resolution
; bigger that the native one is generated, with the right refresh, and «hardware stretch» is applied.
; Vertical resolutions above VirtulaLinesLimit are generated as interlaced, without any stretching.
Si tenemos problemas con dichos valores, o tenemos un monitor que esté listado, aconsejo ir bajando de flexibilidad de monitor y eso se hace cambiando la palabra custom por una de las siguientes:

D9800, D9400, D9200, EGA, VGA, MULTI, H9110, PAL, NTSC, GENERIC, CUSTOM

El orden de prioridad para los que usamos TV seria:

CUSTOM
GENERIC
NTSC

Aunque nuestra TV sea PAL no aconsejo poner PAL bajo ningún concepto.



MAME.INI
Al igual que en vmmaker.ini también hay que describir nuestro monitor en mame.ini. Podremos poner los datos «CUSTOM» que he colocado yo arriba y que repito:

Buscamos CORE SWITCHRES OPTIONS

QUOTEmonitor custom
crt_range0 15625-16200, 49.50-61.00, 2.000, 4.700, 8.000, 0.064, 0.160, 1.056, 0, 0, 192, 288, 448, 576
crt_range1 auto
crt_range2 auto
Como vemos hay que repetir lo mismo que en VMMAKER.ini, sin comillas, pero cambiando las dos últimas cifras (en verde) por los valores rojo y azul que pongo.

¿que son?
Las rojas son el número mínimo y máximo de líneas de modos progresivos
Las azules son el número mínimo y máximo de líneas de modos entrelazados

Si da la casualidad que sabemos que monitor tenemos y está dentro de los listados pues en vez de poner CUSTOM en mame.ini colocamos uno de los del listado de abajo. Si tenemos problemas con los valores custom pues hacemos lo mismo que con vmmaker.ini, el ir bajando de «calidad de monitor» en este orden:

CUSTOM
ARCADE_15
GENERIC_15
NTSC

Si somos los suertudos de tener un monitor que admite más frecuencias pues en vez de bajar subimos:
ARCADE_15ex

¿Tenemos un bifrecuencia automatico?
ARCADE_15_25

¿Trifecuencia automatico?
arcade_15_25_31

¿Un monitor de PC?
Nos vamos a VESA
vesa_480 VESA GTF
vesa_600 VESA GTF
vesa_768 VESA GTF
vesa_1024 VESA GTF


Monitores preestablecidos dentro de mame.ini (groovymame):

QUOTEcustom Define your own custom by means of -crt_range lines
pal PAL TV – 50 Hz/625
ntsc NTSC TV – 60 Hz/525
generic_15 Generic 15.7 kHz
arcade_15 Arcade 15.7 kHz – standard resolution
arcade_15ex Arcade 15.7-16.5 kHz – extended resolution
arcade_25 Arcade 25.0 kHz – medium resolution
arcade_31 Arcade 31.5 kHz – high resolution
arcade_15_25 Arcade 15.7/25.0 kHz – dual-sync
arcade_15_25_31 Arcade 15.7/25.0/31.5 kHz – tri-sync
m2929 Makvision 2929D
d9200 Wells Gardner D9200
d9400 Wells Gardner D9400
d9800 Wells Gardner D9800
k7000 Wells Gardner K7000
k7131 Wells Gardner 25K7131
m3129 Wei-Ya M3129
h9110 Hantarex MTC 9110
polo Hantarex Polo
pstar Hantarex Polostar 25
ms2930 Nanao MS-2930, MS-2931
ms929 Nanao MS9-29
vesa_480 VESA GTF
vesa_600 VESA GTF
vesa_768 VESA GTF
vesa_1024 VESA GTF

Note: labels are no longer case sensitive

Modificado por Cosgarion – 21/4/2013, 04:07  multiquote » Top
Cosgarion Enviado el: 21/4/2013, 01:13
Grupo: UsuarioMensajes: 469Procedencia: Murcia
Estado: 

En resumen:

1.- INSTALAR TARJETA
2.- INSTALAR DRIVER
3.- CONFIGURAR VMMAKER.INI PARA RESOLUCIONES MAGICAS o ESTATICAS (según el mame escogido)
4.- EJECUTAR VMMAKER.EXE

OPCIONAL GROOVYMAME PARA HYPERSPIN:
5.- DESCARGAR GROOVYMAME
6.- CREAR MAME.INI NUEVO
7.- CONFIGURAR MAME.INI

¿Que os ha parecido extremadamente difícil?
Pues os bajaís mi MAME.INI y VMMAKER.INI ya configurados para Hyperspin de Arda en ruta c:\HYPERSPIN1.0\emulators\mame\mame.exe

Hay que ver el rollo que os he soltado si luego lo iba a dar todo mascadito ehhh :D :D :D

EDIT: Parece que a Mediafire no le gusta que suba un archivo llamado mame.ini. Si veo que en unas horas/mañana no se la solucionado lo subiré a otro sitio.

FAQ:

Veo 240 lineas en vez de las nativas 224
Los juegos NEOGEO y similares que iban a 224 lineas verticales son pasados a 240. Esto no quiere decir que perdemos el «pixel perfect» ya que nos añade líneas que no afectan al refresco. La explicación del por qué lo hace es larga y complicada pero solo decir que cuando veamos 224 –> 240 será lo correcto.

¿es importante el Hyperthreading?
Si, hay que activarlo.

¿cuantos núcleos de CPU usa mame?
Que yo sepa, solo dos como máximo.

DUDAS:

¿Por qué duermo poco?

Modificado por Cosgarion – 21/4/2013, 17:28  multiquote » Top
Cosgarion Enviado el: 21/4/2013, 03:18
Grupo: UsuarioMensajes: 469Procedencia: Murcia
Estado: 

Ahora hay que demostrar que lo que se dice es verdad ¿no?

Ejecutando mame con salida log.

STREET FIGHTER II
Extracto:

CODESwitchRes: Monitor range 15625.00-16200.00,49.50-65.00,2.000,4.700,8.000,0.064,0.160,1.056,0,0,192,288,448,576
SwitchRes: Monitor: custom Orientation: horizontal
SwitchRes: v0.014a:[sf2] Calculating best video mode for 384×224@59.629402 orientation: normal
SwitchRes: [sf2] (1) horizontal (384×224@59.63)->(384×240@59.63)
rng(0): 384 x 240_59.629p 15.683 [integ] scale(1, 1, 1) diff(0.00, 0.00, 0.0000) ratio(1.000, 1.071)
SwitchRes: Modeline «384x240_60 15.68KHz 59.63Hz» 7.90 384 400 440 504 240 243 246 263 -hsync -vsync
Switchres: saving DALDTMCRTBCD384x240x0x60 – Modeline «384x240_60 15.62KHz 59.60Hz» 7.87 384 400 440 504 240 242 244 262 -hsync -vsync
Switchres: updating DALDTMCRTBCD384x240x0x60 – Modeline «384x240_60 15.68KHz 59.63Hz» 7.90 384 400 440 504 240 243 246 263 -hsync -vsync
Average speed: 100.00% (13 seconds)

Explicando lo anterior.

Street Fighter 2 funciona en arcade realmente a un refresco de 59,629402. Ni 59, ni 60…. 59,629402hz. Ese refresco, junto sus cientos de compañeros del romset, es IMPOSIBLE que esté de manera automática en Soft15 con un par de decenas de modelines.

Lo que ha hecho Groovymame es:

Estamos en resolución entrelazada de escritorio 640×480 a 60.0 hz.
Ejecuta el juego y ve que necesita 384×224 a 59,629402 hz.
Coge un modeline correcto en resolución, concretamente el 384×240 a 59,60hz y lo modifica al vuelo a 384×240 a 59,63hz.
Ejecuta el juego a resolución nativa y con solo una diferencia de 0,000598 Hz respecto al arcade original.

A mi me vale la diferencia :rolleyes:


GHOST AND GOBLINS

CODESwitchRes: v0.014a:[gng] Calculating best video mode for 256×224@59.590000 orientation: normal
SwitchRes: [gng] (1) horizontal (256×224@59.59)->(256×224@59.59)
rng(0): 256 x 224_59.590p 15.672 [integ] scale(1, 1, 1) diff(0.00, 0.00, 0.0000) ratio(1.000, 1.000)
SwitchRes: Modeline «256x224_60 15.67KHz 59.59Hz» 5.27 256 272 296 336 224 235 238 263 -hsync -vsync
Switchres: saving DALDTMCRTBCD256x224x0x60 – Modeline «256x224_60 15.65KHz 59.97Hz» 5.51 256 272 304 352 224 234 237 261 -hsync -vsync
Switchres: updating DALDTMCRTBCD256x224x0x60 – Modeline «256x224_60 15.67KHz 59.59Hz» 5.27 256 272 296 336 224 235 238 263 -hsync -vsync

GHOST AND SHOULS
CODESwitchRes: v0.014a:[ghouls] Calculating best video mode for 384×224@59.629402 orientation: normal
SwitchRes: [ghouls] (1) horizontal (384×224@59.63)->(384×240@59.63)
rng(0): 384 x 240_59.629p 15.683 [integ] scale(1, 1, 1) diff(0.00, 0.00, 0.0000) ratio(1.000, 1.071)
SwitchRes: Modeline «384x240_60 15.68KHz 59.63Hz» 7.90 384 400 440 504 240 243 246 263 -hsync -vsync
Switchres: saving DALDTMCRTBCD384x240x0x60 – Modeline «384x240_60 15.62KHz 59.60Hz» 7.87 384 400 440 504 240 242 244 262 -hsync -vsync
Switchres: updating DALDTMCRTBCD384x240x0x60 – Modeline «384x240_60 15.68KHz 59.63Hz» 7.90 384 400 440 504 240 243 246 263 -hsync -vsync


LOG COMPLETOS:


STREET FIGHTER II
SPOILER (click to view)

GHOST AND GOBLINS
SPOILER (click to view)

GHOST AND SHOULS
SPOILER (click to view)

Modificado por Cosgarion – 21/4/2013, 11:11  multiquote » Top
Cosgarion Enviado el: 21/4/2013, 03:54
Grupo: UsuarioMensajes: 469Procedencia: Murcia
Estado: 

MORTAL KOMBAT

CODESwitchRes: v0.014a:[mk] Calculating best video mode for 399×253@54.815170 orientation: normal
SwitchRes: [mk] (1) horizontal (399×253@54.82)->(400×256@54.82)
rng(0): 400 x 256_54.815p 15.677 [integ] scale(1, 1, 1) diff(0.00, 0.00, 0.0000) ratio(1.000, 1.012)
SwitchRes: Modeline «400x256_58 15.68KHz 54.82Hz» 8.15 400 416 456 520 256 262 265 286 -hsync -vsync
Switchres: saving DALDTMCRTBCD1234x256x0x58 – Modeline «1232x256_58 16.20KHz 58.48Hz» 26.18 1232 1288 1408 1616 256 258 261 277 -hsync -vsync
Switchres: updating DALDTMCRTBCD1234x256x0x58 – Modeline «400x256_58 15.68KHz 54.82Hz» 8.15 400 416 456 520 256 262 265 286 -hsync -vsync



Y ¿que ocurre con un juego de orientación vertical en un monitor horizontal? Pues que hace lo mejor posible. Nos lo pasa a entrelazado pero nos mantiene el refresco correcto, no los típicos 640×480 a 60,0 Hz del escritorio de windows. La velocidad de los SHUMPS verticales será como en el arcade, el scroll será muy suave.

19XX: The War Against Destiny
CODESwitchRes: v0.014a:[19xx] Calculating best video mode for 224×384@59.629402 orientation: rotated
SwitchRes: [19xx] (1) vertical (224×384@59.63)->(664×496@59.63)
rng(0): 664 x 496_59.629i 16.010 [fract] scale(2, 1, 1) diff(0.00, 25.75, 0.0000) ratio(2.964, 1.292)
SwitchRes: Modeline «664x496_60 16.01KHz 59.63Hz» 13.96 664 696 760 872 496 498 503 537 interlace -hsync -vsync
Switchres: saving DALDTMCRTBCD664x496x0x60 – Modeline «664x496_60 16.16KHz 59.96Hz» 14.09 664 696 760 872 496 499 504 539 interlace -hsync -vsync
Switchres: updating DALDTMCRTBCD664x496x0x60 – Modeline «664x496_60 16.01KHz 59.63Hz» 13.96 664 696 760 872 496 498 503 537 interlace -hsync -vsync



LOG COMPLETOS:

MORTAL KOMBAT
SPOILER (click to view)


19XX
SPOILER (click to view)

Modificado por Cosgarion – 21/4/2013, 11:05  multiquote » Top
mdsavio Enviado el: 21/4/2013, 08:50Avatar
Grupo: UsuarioMensajes: 122
Estado: 

Peazo de tutorial!

Muy importante y le hechare un mejor vistazo, bien cuando algun dia tenga una ATI, (soy de Geforce Nvidia e toda la vida de dios) o cuando se pueda usar todo esto con Geforce. :P

Gracias!

  multiquote » Top
Cosgarion Enviado el: 21/4/2013, 09:13
Grupo: UsuarioMensajes: 469Procedencia: Murcia
Estado: 

Gracias mdsavio.

Realmente se puede con algunas nvidia y la combinación de todo esto con el powerstrip.

El problema es que por el coste que tienen las tarjetas de segunda mano no creo que merezca la pena el liarse. Tenemos ATI antiguas totalmente compatibles desde 10€  multiquote » Top
KikeBronx Enviado el: 21/4/2013, 14:23Avatar
Grupo: UsuarioMensajes: 1.334Procedencia: Madrid
Estado: 

Lo primero, y antes de todo, darte las gracias por este pedazo de tutorial. Estoy seguro que va a ayudar a muchisimo usuarios.

Y dicho esto, las dudas jajaja

-Con descargarse los drivers modificados para la Saphire HD4770 es suficientes, no?? Tengo que descargarme algun driver mas??

-Al final he decido descargarme el GroovyMAME. Como se cual es mi Romset??

-Puedo instalar el GroovyMAME antes de actualizar los drivers y sacar los 15hz?? O es necesario que primero saque los 15hz y luego instale el GroovyMAME??

-Supongo que despues de instalar los drivers y sacar los 15hz y conectarlo al monitor arcade tendre que instalar los programas/drivers del PC2-Jamma, no??

-Despues de instalar el GroovyMAME puedo instalar tu MAME.ini y tu VMMaker.ini o tengo que tengo que hacer antes algo??

-El enlace MAME.ini esta roto. No puedo descargarlo.

-Mi ruta del Hyperspin es: C:\Hyperspin\Emulators\MAME. Tengo que cambiar el nombre de las carpetas (a las de Arda) o puedo cambiar algo para mantener los nombre de las carpetas??

-Que pasa con el resto de emuladores del Hyperspin: Sega Model 2, Supermodel 3 y PC Games?? Eso no lo toco?? Poder jugar bien con ellos??

Y de momento creo que eso es todo jajaja

Saludos y gracias de nuevo por este pedazo de tutorial!!
El Chamizo

Consolas-> PlayStation 3, XBox 360, Wii, NES, Neo Geo AES, Game Boy, Game Boy Pocket, Super Nintendo, Megadrive 1, Nintendo 64, Neo Geo Pocket Color, GameCube, Game Boy Advance SP, Master System III, PlayStation 1, PlayStation 2
Juegos de Salón-> Futbolín Madrid, Billar, Diana Bifuca, Air Hockey
Recreativas-> VideoSonic, Blue Wind, New Final Lap 2, Every Cocktail
Pinballs-> World Cup Soccer ’94
Imagen/Sonido-> Jukebox, Proyector de Cine, Home Cinema 5.1, Televisión de Plasma 37′    Contactos multiquote » Top
Cosgarion Enviado el: 21/4/2013, 15:26
Grupo: UsuarioMensajes: 469Procedencia: Murcia
Estado: 

Te respondo en la cita

QUOTE (KikeBronx @ 21/4/2013, 15:23)Lo primero, y antes de todo, darte las gracias por este pedazo de tutorial. Estoy seguro que va a ayudar a muchisimo usuarios.

Y dicho esto, las dudas jajaja

-Con descargarse los drivers modificados para la Saphire HD4770 es suficientes, no?? Tengo que descargarme algun driver mas??
NO MAS DRIVERS. No recuerdo si la versión que he subido y tenia la actualización del VMMaker por lo que te recomiendo bajarla y descomprimir encima de la misma carpeta de driver.


-Al final he decido descargarme el GroovyMAME. Como se cual es mi Romset??
Si lo has hecho bien tendras la misma del mame.exe que ahora tengas (boton derecho propiedades ->versión). Creo que antes se podia utilizar el comando «-listromdistribution» pero no se si está operativo. Seguro que hay una manera sencilla de saberlo pero no lo se.


-Puedo instalar el GroovyMAME antes de actualizar los drivers y sacar los 15hz?? O es necesario que primero saque los 15hz y luego instale el GroovyMAME??
Claro, no importa el orden, solo acuerdate de configurarlo y crear un mame.ini nuevo (mame.exe -cc) o pegar el mío

-Supongo que despues de instalar los drivers y sacar los 15hz y conectarlo al monitor arcade tendre que instalar los programas/drivers del PC2-Jamma, no??
Ni idea, soy novato y uso joy2usb .

-Despues de instalar el GroovyMAME puedo instalar tu MAME.ini y tu VMMaker.ini o tengo que tengo que hacer antes algo??
Si, puedes sustituir ambos ini pero luego acuerdate de ejecutar vmmaker.exe

-El enlace MAME.ini esta roto. No puedo descargarlo.
Lo subiré esta tarde a otro sitio. No le gusta el nombre, lo he subido ya dos veces y lo bloquea.

-Mi ruta del Hyperspin es: C:\Hyperspin\Emulators\MAME. Tengo que cambiar el nombre de las carpetas (a las de Arda) o puedo cambiar algo para mantener los nombre de las carpetas??
El nombre de carpetas ni tocarlo. Tienes que cambiar la ruta dentro de vmmaker.ini

-Que pasa con el resto de emuladores del Hyperspin: Sega Model 2, Supermodel 3 y PC Games?? Eso no lo toco?? Poder jugar bien con ellos??
Sin problemas, solo cambia mame. Yo he jugado a TaitoX2 después de tener este driver y los 15khz.

Y de momento creo que eso es todo jajaja

Saludos y gracias de nuevo por este pedazo de tutorial!!

Modificado por Cosgarion – 21/4/2013, 17:33  multiquote » Top
kvothe Enviado el: 21/4/2013, 23:10


Cosgarion, esto es un lujo! Gracias de verdad, es una pasada de tutorial. Me lo voy a empollar.

Una pregunta, a opinión personal, que ati de la serie 4000 recomendarías para mame? Que tirara de los de toda la vida, no los poligonales. multiquote » Top
Cosgarion Enviado el: 21/4/2013, 23:25
Grupo: UsuarioMensajes: 469Procedencia: Murcia
Estado: 

Cualquiera dará el mismo rendimiento en mame pero por pedir una 4250 o 4350 pasiva, o una X300, por ejemplo.

Saludos  multiquote » Top
Ijplus69 Enviado el: 21/4/2013, 23:57


Cosgarion:

Este tutorial es un lujo.

A mi ya me estan buscando una tarjeta de las que recomiendas.

Un saludo multiquote » Top
kvothe Enviado el: 22/4/2013, 08:55


Cosgarion, entonces cuando se conecta la arcadevga de ultimarc, realmente no estás jugando con la resolución exacta de cada juego no?
Es para tener claro la diferencia  multiquote » Top
elreypescador Enviado el: 22/4/2013, 11:19
Grupo: ModeradorMensajes: 4.615Procedencia: Murcia
Estado: 

Amén tío… Qué pedazo de tutorial, sí señor. Hasta a mí que no lo voy a usar me ha quedado clarito, clarito.

Es bien cierto que es un currazo tener las resoluciones y refrescos nativos de cada juego, pero luego la satisfacción de jugarlos tiene que ser impagable. Si un día me pongo con una original, ya sé que tuto tendré que tener enfrente, jejejejeje.

Muchísimas gracias por el tutorial Cosgarion!!! Eres un crack!!! Un saludo paisano!!!

Deja un comentario

Diseña un sitio como este con WordPress.com
Comenzar