IntroducciónBueno visto que no hay demasiada información al respecto y para poder acceder a ella hace falta consultar otros foros, intentaré aportar mi granito de arena a Arcade spain con este tutorial.
ObjetivoEl objetivo de este tutorial, que puede que no quede demasiado claro por el título, es ejecutar juegos con el emulador ZiNc vía comandos de windows. Esto nos será útil si disponemos de un frontend multi sistema como puede ser mala o similares (desconozco si en Hyperspin está ya bien configurado para funcionar sin tocar nada).
En caso que queramos jugar a zinc y podamos usar windows normalmente (ratón y teclado), este tutorial carece de sentido ya que disponemos de GUI's específicas para zinc como por ejemplo ZiNcGUI, que para mi personalmente es la mejor.
Advertencia******VIGILAD QUE EN LAS RUTAS Y NOMBRES DE ARCHIVOS QUE AÑADÁIS EN LOS ARCHIVOS DE CONFIGURACIÓN, ESTOS NO CONTENGAN ESPACIOS NI COMILLAS*******
Emulador ZiNcZinc, para el que lo desconozca, así "malamente" explicado, es un emulador destinado a hacer funcionar juegos arcade de mame que disponen de motor 3D aprovechando las gráficas modernas, ya que como sabemos mame únicamente hace servicio de la potencia del procesador del PC.
Lo primero que debemos de hacer es descargar el emulador básico; cómo a día de hoy que he hecho el tutorial, la web del creador está "rota", podemos descargarlo de aquí
http://www.emulator-zone.com/doc.php/arcade/zinc.html (donde pone v1.1) o haciendo una búsqueda por google. De paso, descargamos todos los plugins que aparecen al final ya que nos harán falta más adelante (quizá el jamma keyboard no, al menos a mi con IPP no me hace falta), los frontend no.
Tened en cuenta que el romset (o los juegos vamos) que consigáis han de ser específicamente para ZiNc y para la versión 1.1, ya que los de mame no funcionan, y cómo sucede con este cada versión tiene su propio romset.
El Wrapper*Archivo adjuntado para descargar*
Envoltura, lanzador.. como queráis llamarle, tiene básicamente estas funciones:
1.- Crear una tabla de equivalencia entre el nombre del zip de la rom, y el nombre que usa zinc para lanzar los juegos, que se basa en un sistema de números enteros. Por ejemplo para que lo entendáis:
Nombre real del juego --> Rival Schools
Nombre del zip de la rom--> rvschool.zip
Nombre que entiende ZiNc por ese juego --> 17
2.- Asignar un archivo de controles y vídeo a cada juego. Podemos asignar el mismo a varios o a todos.
3.- Pasar cualquier tipo de parámetro aceptado por zinc.exe sin necesidad de escribirlo cada vez.
ConfiguraciónBien antes de nada, deberíamos tener descargado los plugins gráficos y para configurar los controles que nombramos al principio de esta web
http://www.emulator-zone.com/doc.php/arcade/zinc.htmlEstos son:
-OpenGL and D3D renderers 1.2
-Glide Renderer 1.3
-Winterblast's Input Plugin 1.6 (este ultimo se encarga de configurar los controles)
Bien vayamos por partes:
ControlesSi descomprimimos el winterblast, encontraremos estos 4 archivos:
-Un
readme con los cambios entre versiones, no tiene utilidad practica.
-
controller.znc: El plugin "compilado", es lo que hace que funcione vamos.
-
dik_codes.txt: Una tabla de referencia de "tecla que queremos asignar" <==> Valor alfanumérico que debemos usar en el archivo de configuración. Lo tendremos que consultar para configurar nuestros controles correctamente.
-
controller.cfg: Archivo donde introduciremos los parámetros que queremos usar para los controles.
Pues una vez que tenemos esto claro, abrimos el archivo de configuración y vamos a esta sección que es la interesante:
[player1]
;example for ZN1 player 1 with joy1
;useMM=1 ;allow player 1 to use WinMM joystick instead of DirectX
coin=k02
start=k06
right=j1right
left=j1left
down=j1down
up=j1up
btn1=j1b1
btn2=j1b2
btn3=j1b3
btn4=j1b4
btn5=j1b5
btn6=j1b6
c1=j1b7
c2=j1b8
Aquí asignaremos el valor después del símbolo "=" que queramos asignar, en el archivo que nos incluye el winterblast esta configurado para Joystick pero si miramos el archivo de referencia ("
dik_codes.txt") podremos ver que por ejemplo para asignar arriba a la w, deberíamos poner, con la peculiaridad que tenemos que substituir el "
0x" por una "
k" de keyboard, este:
#define DIK_W 0x11 --por lo tanto-->
up=k11Como podéis comprobar por el archivo base, en el caso de joystick, la nomenclatura es
j(numero de jugador/controlador)b(numero de botón) con lo que quedaría,
up=j1up o btn1=j1b1Dentro de este archivo también está configurado el player 2 y más arriba en una sección llamada [all], el botón de servicio y el de test por si los queréis configurar también (por defecto son F2 y F3).
También pueden asignarse autocombos, es decir, que por ejemplo pulsando un botón pudiéramos hacer un HADOKEN de ryu (abajo,abajo-delante,delante + Puñetazo).
VídeoPrimero, bajamos uno de los plugins de vídeo que hemos puesto al principio. Yo en mi caso usaré el de d3d porque el mame lo tengo configurado con d3d también, no os puedo dar ninguna explicación lógica de si uno es mejor del otro porque no tengo ni idea sinceramente, a mi me funciona bien y con eso me es suficiente
Creamos una carpeta para cada renderer.znc (dependiendo si es el de d3d,ogl o glide, este último solo funciona con tarjetas 3dfx Voodoo), que recordemos, son el código fuente de los plugins compilados, tendríamos una estructura tal que así
./zinc/d3d/d3d.znc. Esto no es esencial, pero así lo tenemos más ordenadito.
El renderer.cfg, que es el archivo donde indicamos los parámetros de como queremos que funcione el plugin (diferenciad .znc de .cfg), lo ponemos en la raíz del zinc, y para aclararnos mejor le cambiamos el nombre a por ejemplo, d3d.cfg, más que nada para no creer que es un archivo de configuración genérico, si no para tener claro que cada plugin funciona con su cfg.
Este d3d.cfg lo abrimos y veremos que nos encontramos con varios parámetros configurables con su explicación correspondiente a la derecha; yo en principio, no cambiaría nada, excepto la resolución para adaptarla a vuestro monitor y el modo fullscreen ponerlo a 1, para verlo a pantalla completa. El resto de parámetros podéis probar a ver si notáis alguna mejoría, en mi caso no ha sido así.
Archivo de configuración BASEBien, ya lo tenemos todo configurado, pero para que el wrapper nos encuentre cada cosa y sepa que hacer con todo tenemos que crear un archivo cfg base donde indiquemos los parámetros y rutas que queremos pasarle automáticamente.
Lo llamaremos por ejemplo, zinc.cfg, lo editaremos con un bloc de notas mismo, y lo colocaremos en la raíz con el zinc.exe, su estructura será tal que así:
--roms-directory=D:\emuladores\zinc
#la ruta donde se encuentren nuestras roms
--renderer=d3d\renderer.znc
#toma como base el directorio donde se encuentre este archivo, e indicaremos la carpeta que hemos creado para colocar el vídeo y el archivo .znc de nuestro plugin.
--use-controller-cfg-file=controller.cfg
#indicamos la localización del controller.cfg, en este caso se encuentra en la misma carpeta que este archivo.
--use-renderer-cfg-file=d3d.cfg
#indicamos la localización del d3d.cfg (antiguo renderer.cfg renombrado), en este caso se encuentra en la misma carpeta que este archivo.
Hay que tener en cuenta, que este archivo lo que hace es añadir todos estos parámetros a la ejecución de zinc.exe, esto quiere decir que tenemos la maleabilidad de poder añadir cualquier parámetro de los que usa este, estos los podremos encontrar en el readme del zinc.
Configurar el wrapperUna vez lo tenemos todo listo, ahora solo queda coger el archivo de configuración general del wrapper "lconfig.ini", lo editamos, y veremos que tras cada juego nos aparece algo así
starglad;1 --use-config-file=zinc.cfg
pues bien, esto quiere decir que cuando ejecute este juego, lo hará con el archivo de configuración zinc.cfg (que recordemos hemos creado nosotros a mano antes, indicando los parámetros a usar), situado en el mismo directorio que el wrapper. Este archivo de configuración podemos asignarlo a todos los juegos, o crearnos uno por cada juego, o solo algunos porque los controles básicos nos son incómodos... esto ya irá a vuestro gusto.
EjecuciónAhora para poder ejecutar nuestras roms, unicamente tendremos que poner, obviamente usando nuestras rutas al emulador y a las roms:
D:\emuladores\zinc\zincwrapper rivschool.zip (sin path)
#En el caso de un frontend la nomenclatura seria algo como %rom%.%ext% o algo parecido
Y con esto ya deberíais ser capaces de ejecutar zinc en cualquier frontend.
AgradecimientosPues bien, espero que os sea de utilidad y no quiero acabar sin antes agradecer al autor del tutorial en el que me basé para configurar mi zinc, dándole mi toque añadiendo cosas que a mi me resultaron importantes, y obviamente escribiéndolo entero yo mismo. Gracias a
Kiltrocrazy , como dicen en mi tierra "de mica en mica, s'omple la pica", o sea que con un poquito de trabajo de cada uno, nos ayudamos a todos. Un saludo
-Gallind-