Tutorial: Configuración emulador “ZINC” sin uso de frontend INTRODUCCIÓN Por lo general las interfaces gráficas ayudan a configurar de manera rápida y amigable los emuladores, pero en caso de dar un fallos nos dejan parados y sin saber cómo repararlo, es por eso y por el hecho de encontrar escasa información del emulador ZINC en español (casi únicamente existe el tutorial de Mikonos) que decido a realizar este documento y vean cómo configurar cada cosa manualmente y corregir los errores que puedan ir surgiendo.
DESCARGA ZINC Y ACLARACIONESPrimero lo que hay que descargar:
Emulador Zinc 1.1, los plugins de vídeo(opengl, d3d y glide) y plugins de controles. Yo he usado “Winterblast's Input Plugin 1.6”.
www.emulator-zone.com/doc.php/arcade/zinc.htmlEl “Wrapper” para Zinc.
www.mediafire.com/?wzplfia8xwx17boLa estructura de carpetas que utilicé para este tutorial es la siguiente:
COMANDOS DEL EMULADORPrimero explicaré las opciones que nos da por defecto Zinc para poder configurarlo. Yo sólo he utilizado algunas, pero más de alguno sabrá cómo aprovechar el resto. Esto lo he sacado sencillamente del archivo “readme” que acompaña al emulador, agregando algunas experiencias mías.
--help: Muestra la ayuda
--list-games: Lista todos los juegos que soporta el emulador
--list-sets: Lista las rom que soporta el emulador
--version: Muestra información de la versión del emulador
--verify: Debería verificar el rom. Realmente no he utilizado nunca esta opción.
--use-config-file="nombre archivo": Aquí podemos crear un archivo de configuraciones generales que utilizara Zinc para cargar los juegos. Es muy útil, pues nos permite ahorrar tiempo permitiendo cargar opciones distintas para cada juego y evitando crear configuraciones nuevas para juegos que utilizan la misma.
--use-renderer-cfg-file="nombre archivo": Este comando nos permite cargar la configuración de vídeo desde un archivo. Es similar a la anterior pero para las opciones de vídeo.
--roms-directory="ruta rom": En esta opción configuráis las carpetas de las roms.
--use-sound=<yes|no>: Se explica solo, activa o desactiva el sonido.
--renderer="nombre archivo.znc": Aquí pondremos ruta y nombre del plugin de vídeo que utilizaremos.
--rotate=<value>: Esta opción nos permite rotar la pantalla. Los valores son:
0: sin rotación. 1 = gira la pantalla 90 grados en el sentido del reloj.
2 = gira 180 grados. 3 = gira 270 grados en el sentido del reloj.
--controller=<value>: Supongo que aquí debería ir la ruta del plugin del control. Yo sencillamente he puesto puesto el archivo “controller.znc” directo en el directorio de emulador Zinc.
--use-controller-cfg-file="nombre archivo.cfg": Aquí especificaremos la ruta y nombre del archivo con las configuraciones del control.
--sound-filter-enable=<yes|no>: Habilita el filtro de sonido. En teoría debería aumentar la calidad del sonido, pero a su vez utilizaría algo más de recursos. No lo he probado. Por defecto esta deshabilitado.
--sound-filter-cutoff=<value>: Define la frecuencia del filtro de sonido. Por defecto es 22050.
--sound-surround-lite-enable=<yes|no>: Nunca lo he activado por lo que esto es traducción literal del “readme.txt”. Por defecto: NO. Habilita "Lite-Surround". Pruébenlo y escuchen.
--sound-surround_lite-multiplier=<value>: Por defecto: 40. Ajusta qué tan poderoso es el “Lite-surround”.
--sound-stereo-exciter=<yes|no>: Por defecto: No. Habilita "stereo exciter". No he utilizado esta opción y la traducción es algo rara. Al parecer mejora el efecto del audio en estéreo dependiendo de la posición de los personajes.
--use-slow-geometry=<yes|no>: Por defecto: No. Habilita la utilización de un cálculo optimizado para las geometrías de los cuerpos en 3D, mejora la imagen, pero utiliza muchos más recursos. Los efectos no son visibles en todos los juegos. Mi recomendación es activarla si les parece que algo anda mal en el juego o si podría mejorar algo. Si el juego corre bien, déjenlo desactivado.
Nota: Todas las rutas y nombres de archivos para las opciones deben ir sin comillas y sin espacios entre los nombres. Ejemplo: --roms-directory=D:\juegos\roms
Para terminar de explicar la parte de cómo funciona el emulador Zinc, diré que es como lanzar las roms. Por lo general la dinámica para lanzar juegos con un emulador es "emulador.exe nombrerom.extensión", en el caso de Zinc, si bien este reconoce las roms con el mismo nombre que Mame, para poder lanzarlas se debe hacer con un numero. Ejemplo, para lanzar el juego “Star Gladiator” seria "zinc.exe 1".
Zinc en su versión 1.1 corre exactamente 71 juegos, por lo que la numeración va del 1 al 71, ésto dificulta su utilización en los frontends obligando a configurar juego por juego este número. Éesto es solucionable con el “zincwrapper” que e agregado al principio, el cual nos permite utilizar el zinc 1.1 tal cual si fuera Mame con la siguiente expresión: "zincwrapper.exe nombrerom" y él se encargara de lanzar Zinc con el número correspondiente al juego y el archivo de configuración (en el caso del “Wrapper” lo he llamado “zinc.cfg”).
CONFIGURACIÓN DE BOTONESPara poder configurar los botones deberán descargar el plugin "Winterblast's Input Plugin 1.6". en el Zip van 4 archivos “controller.znc”, que es el plugin; “controller.cfg”, que es el archivo donde se configuran los botones; y el “dik_codes.txt”, que es un archivo que les ayudará a poder configurar los botones en caso de querer usar un teclado (o algún dispositivo que lo emule) para jugar.
El archivo “controller.znc” debe ser copiado en la raíz de la carpeta, junto con el “exe” del emulador. Cuando abráis el archivo “controller.cfg” se darán cuenta de que trae un montón de texto explicativo de cómo utilizarlo. Las partes importantes son las que no empiezan con ";".
El siguiente código indica que hacer en caso de que haya un error con los controles y genera un archivo en la ruta especificada a modo de reporte.
CODE
[general]
;file to output controller messages and errors
output="c:\wbout.txt"
;indicate if controller will fail or not if a config error occured
noerror=1
Configuraciones de botones comunes para todos los juegos. Por defecto son el test con la tecla "F3" y servicio con "F2".
CODE
[all]
;F3
test=k3d
;F2
services=k3c
Aquí podemos guardar las "hotkeys" o "macros", que son combinaciones de botones y movimientos en una sola tecla.
CODE
[combos]
;hadoken from left
1=d,,dr,,rb3
;hadoken from right
2=d,,dl,,lb3
Configuración de botones para el primer player. En este caso está configurado para ser utilizado con un control de PC de 8 botones.
CODE
[player1]
;example for ZN1 player 1 with joy1
;useMM=1 ;allow player 1 to use WinMM joystick instead of DirectX
coin=j1b8
start=j1b7
right=j1right
left=j1left
down=j1down
up=j1up
btn1=j1b5
btn2=j1b6
btn3=j1b4
btn4=j1b3
btn5=j1b1
btn6=j1b2
c1=
c2=
Mismo caso para el jugador 2.
CODE
[player2]
;example for ZN1 player 2 with joy2
coin=
start=j2b7
right=j2right
left=j2left
down=j2down
up=j2up
btn1=j2b5
btn2=j2b6
btn3=j2b4
btn4=j2b3
btn5=j2b1
btn6=j2b6
c1=
c2=
Para poder configurar los botones de Zinc en el teclado deberán colocar su valor hexadecimal. Según el archivo “dik_codes.txt”, anteponiendo una “k”. Ejemplo: Para asignar arriba, abajo, izquierda y derecha al control 1 y que las teclas sean “w, s, a y d” respectivamente, sería así.
CODE
[player1]
up=k11 #define DIK_W 0x11
down=k1F #define DIK_S 0x1F
left=k1E #define DIK_A 0x1E
right=k20 #define DIK_D 0x20
En cambio, para configurarlos como joystick seria j "número control" + b "número botón del control" y las direcciones serían j "número control"+ la dirección en inglés, quedando, por ejemplo, para el botón 1 del control 1 así: "j1b1"; y para la dirección arriba del control 1: "j1up".
Por número de control se entiende el número de dispositivo que le ha asignado Windows al control, por lo que si configuran un control como player 1 y otro como player 2, y luego desconectan los controles y conectas el segundo control primero y viceversa, tendrán las configuraciones cambiadas. ¡Ojo con eso!
CONFIGURACIONES DE VÍDEOPara configurar el vídeo primero deberán bajar alguno de los plugins de la pagina del emulador los archivos “.znc”, ya sea el “D3D”, “OpenGL” o “Glide”. Pueden ponerlos en la raíz con el emulador o en carpetas aparte, como lo he hecho yo, que he puesto una carpeta para cada uno y luego deberán configurar su respectivo archivo “.cfg”.
Para los casos de los plugins gráficos “OpenGL” y “D3D” se encontrarán con un archivo “renderer.cfg” similar a éste (hay algunas cosas que por más que los active, no noto que hagna nada, por lo que dejo la descripción en inglés, a ver si alguien lo entiende mejor).
CODE
; ogl/d3d renderer settings
XSize = 1360 ; Ancho de la pantalla en píxeles.
YSize = 768 ; Alto de la pantalla en píxeles.
FullScreen = 1 ; 1 para activar el fullscreen/0 para modo ventana.
ColorDepth = 32 ; Profundidad de color, soporta 16 o 32 como valores solamente
ScanLines = 0 ; 0 para sin scanlines/ 1 para scanlines negras/ 2 para scanlines blancas.
Filtering = 0 ; Filtros para las texturas. Puede ser un número entre el 0 y el 3.
Blending = 0 ; Enhanced color blend: ogl: 0/1; D3D: 0-2.
Dithering = 0 ; Dithering: 0/1 (only needed in 16 bit color depths)
ShowFPS = 1 ; 1 muestra los frames por segundo/ 0 No muestra los frames
FrameLimitation = 1 ; 1 para limitar la cantidad de frames/0 Sin límite.
FrameSkipping = 1 ; 1 para activar el salto de frames/0 Salto de frames desactivado.
FramerateDetection = 1 ; Auto framerate detection: 0/1
FramerateManual = 100 ; Limitamos el máximo de frames por segundo.
TextureType = 0 ; Textures: 0=card's default, 1=4 bit, 2=5bit, 3=8bit
TextureCaching = 0 ; Caching type: 0-3, def=2, mode 3 is not available on most cards.
EnableKeys = 0 ; Enable renderer keys: 0/1, def=1 (enables keys for the fps menu/pause).
FastExcel = 0 ; En 1 activa un hack de velocidad para los "excel" de las roms “Street Fighter EX's”.
Para poder usar “Glide” necesitan una tarjeta de vídeo compatible. El listado viene en el archivo de configuración, aun así es el siguiente:
3dfx Voodoo Graphics [various manufacturers produced these cards]
3dfx Voodoo Rush [various manufacturers produced these cards]
3dfx Voodoo² [various manufacturers produced these cards]
3dfx Voodoo Banshee [various manufacturers produced these cards]
3dfx Voodoo³
3dfx Voodoo4
3dfx Voodoo5
Y el archivo de configuración es así:
CODE
; WinZiNc Glide Renderer settings
Resolution = 7 ; Resolucion del juego. Viene predefinidas por un número en el “.txt”.
Filtering = 0 ; Texture filtering: 0-2 - see readme
ShowFPS = 1 ; 1 para mostrar los frames/ 0 Para ocultarlos.
FrameLimitation = 1 ; 1 Para limitar los frames/ 0 Para no limitar.
FrameSkipping = 1 ; 1 para activar el salto de frames/ 0 Desactivado.
FramerateDetection = 1 ; Auto framerate detection: 0/1
FramerateManual = 100 ; Limita el máximo de frames. Va entre 1 y 255.
Key_Filtering = 0x23 ; Key used to toggle texture filtering - see readme
Key_ShowFPS = 0x2D ; Key used to toggle FPS display - see readme
Key_FrameLimitation = 0x22 ; Key used to toggle frame limit - see readme
Key_FrameSkipping = 0x21 ; Key used to toggle frame skipping - see readme
Key_FramerateDetection = 0x24 ; Key used to toggle auto framerate detection - see readme
CREADO UN ARCHIVO DE CONFIGURACIONES GENERALESTras haber configurado los controles y el vídeo, debemos crear un archivo de configuraciones donde le indicaremos al emulador la ruta donde se encuentran las roms, los plugin de vídeo, archivos de configuraciones que acabamos de crear y todos los comandos que queramos utilizar de los listados expuestos al principio de este tutorial.
Para crearlo sólo deben crear un nuevo archivo de texto, abrirlo con “notepad” y escribir las configuraciones que más os sean; guardar, cerrarlo y cambiarle la extencion de “.txt” a “.cfg”. A modo de ejemplo dejaré el que utilizo en el momento en que he decidido crear este tutorial y que he llamado "zinc.cfg":
CODE
--roms-directory=D:\juegos\roms
--renderer=d3d\renderer.znc
--use-controller-cfg-file=controller.cfg
--use-renderer-cfg-file=d3d.cfg
Como veis, le he indicado dónde están las roms, el directorio del plugin de vídeo “D3D” (es una carpeta dentro del mismo emulador, por eso la ruta solamente es "d3d\renderer.znc"), mi archivo de configuración de controles y de vídeo. Como he dicho anteriormente, pueden agregar todas las opciones del primer listado que estimen convenientes a este archivo.
Ahora, para poder utilizarlo debemos agregarlo en el “wrapper” editando el archivo “lconfig.ini” con un editor de texto y colocar un espacio después del número del juego y la siguiente línea: "--use-config-file=zinc.cfg", donde “zinc.cfg” será el nombre de vuestro archivo de configuraciones generales.
Espero esto pueda ser de ayuda para alguien y de paso puedan dejar sus emuladores mejor configurados y más limpios para sus front-ends.
Saludos
- Por Kiltrocrazy -Edited by Mikonos - 22/11/2011, 21:49