Zona Arcade. Construye, Restaura y Decora tu Máquina Arcade y Pinball.

Tutorial: Cómo adaptar controles de Spectrum a panel arcade con joytokey, Keyboard Plus e Hyperspin

« Older   Newer »
  Share  
view post Posted on 27/3/2015, 14:42     +1   -1
Avatar

Restless in Peace

Group:
Administrator
Posts:
42,894
Location:
Alcobendas (Madrid)

Status:


Tutorial: Cómo adaptar y configurar los controles de Spectrum a un panel de control arcade con joytokey, Keyboard Plus e Hyperspin

- Introducción

Desde que empecé con el tema del ocio arcade quise tener una máquina recreativa en casa y tenía bien claro que el sistema que quería incluir sí o sí era Spectrum. ¿El problema? Los controles de los juegos para adaptarlos a un panel de control con palancas y botones.

Como muchos sabéis, los juegos en Spectrum no tenían ningún estándar que se pudiera usar para todos ellos, así cada uno usaba una configuración distinta, haciendo casi el uso total de todo el teclado del pequeño ordenador de Sinclair. Así que la tarea se proponía algo ardua y complicada.

Tras analizar los controles de unos 350 juegos, llegué a la conclusión de que había dos maneras de asignar controles a la mayoría de ellos. La primera, mediante el esquema de control del interface Sinclair II, y la segunda mediante la creación individual de esquema de controles para juegos que no permiten Sinclair II, ni la redefinición de teclas.

Aún con éstas, tenía el problema de que algunos juegos necesitan la pulsación de una tecla concreta en un momento determinado para poder empezar a jugar o para poder continuar la partida, por lo que necesitaba poder adaptar un teclado virtual a nuestro emulador para poder pulsar esa tecla maldita y poder disfrutar de la experiencia con nuestro Spectrum al 100%.

Todo esto lo vamos a hacer usando Hyperspin como frontend, modificando el módulo del emulador para hacerlo de un modo totalmente automatizado y con el emulador EmuZWin que es el único que he conseguido hacer funcionar de esta manera.

Así que este tutorial se va a dividir en tres partes:

1º - La creación de diferentes configuraciones con JoyToKey para nuestros juegos de Spectrum

2º - Implementar un teclado virtual al emulador accesible desde el panel de control.

3º - Modificar el módulo de Hyperspin para lanzarlo todo automáticamente.



1ª Parte - Creación de distintas configuraciones con JoyToKey

Para empezar descargamos JoyToKey, el programa que nos va a ayudar a convertir nuestras palancas y botones del panel de control en teclas para asignarlas a las del emulador.

DESCARGAR JOYTOKEY 3.7.9



Este programa no necesita instalación, con descomprimir en cualquier directorio y ejecutar el programa es suficiente. Para tenerlo todo bien ordenado, creamos una carpeta vacía dentro del directorio de nuestro emulador, la llamaremos Joytokey.

carpetase

Dentro de esta carpeta es donde vamos a ir creando las distintas configuraciones para los distintos juegos que las necesiten. La primera configuración que vamos a crear la llamaremos Default, y es ni mas ni menos que la que usarán casi todos los juegos. Este es el esquema de asignación de teclas que vamos a usar para un panel de control con 2 palancas, 6 botones de acción, 4 de servicio y 2 de Pinball (éstos últimos son accesorios).

asignacio

Es importante dejar vacíos dos botones, uno de ellos lo usaremos más adelante para abrir el teclado, y el otro para pulsar una tecla virtual de este. Si asignamos teclas a estos dos botones, no funcionará correctamente y puede crearnos conflictos a la hora de usar el teclado.

Una vez creada la carpeta Default, descomprimimos dentro los archivos del programa JoyToKey. Ejecutamos el programa y lo vamos configurando pulsando en cada dirección o botón y pulsando en el teclado la tecla correspondiente. Muy fácil e intuitivo. Esto lo haremos con los dos jugadores, y una vez terminada la configuración cerraremos el programa y ésta se guardará.

tutoconfigspectrumjtk1

Ya tenemos listos los controles para el 90% de nuestros juegos. Por lo que queda crear uno por uno los controles para aquellos juegos que no permitan el interface Sinclair II o el redefinir teclas. Operaremos de la misma manera que para el Default, creamos una carpeta por juego, copiamos los archivos del programa JoyToKey, y lo configuramos a la necesidad del juego. No os olvidéis de poner la tecla que tengáis asignada para salir del emulador en el botón correspondiente!!! jejejeje...

carpetasjoytokey

Bien, pues con esto ya tenemos configurados los controles para todos nuestros juegos de Spectrum, pero todavía nos queda el teclado y lanzarlo todo desde Hyperlaunch en nuestro Hyperspin, ¿no? Pues sí, esto es lo que vamos a hacer en los siguientes pasos del tutorial.


2ª parte - Implementar un teclado virtual

Esta es la parte que más problemas y comeduras de cabeza me ha dado, sin duda. Le di muchas vueltas, busqué y probé muchos teclados virtuales hasta que encontré lo que necesitaba: Keyboard Plus Plus.

Este programa se encarga por sí solo, de salir de pantalla completa del emulador, mostrar un teclado virtual de Spectrum y poder moverse por las teclas del mismo con la palanca y pulsar una tecla con un botón del panel de control o joystick. Es justo lo que necesitamos, ¡vamos a por él!!!

Os dejo un link con la descarga del programa con una pequeña modificación que he hecho, ya que la imagen por defecto que usaba para mostrar el teclado no me gustaba demasiado, no tenía mucha calidad y se veía regular, así que he creado una imagen partiendo de la que lleva que se mucho mejor y es más cómoda de usar.

DESCARGAR KEYBOARD PLUS PLUS MODIFICADO



Este programa tampoco hace falta instalarlo, con descomprimir y ejecutar es suficiente. Por lo que vamos a crear una carpeta dentro del directorio general de nuestro emulador, que llamaremos Kpp, y dentro meteremos todos los archivos del programa. Una vez hecho esto, ejecutamos el programa y loo configuramos así:

KPPmenu

Guardamos los cambios y listo, ya lo tenemos. Podemos comprobar que funciona ejecutándolo y dejándolo en segundo plano, después abrimos el emulador de Spectrum, lanzamos un juego a pantalla completa y pulsamos el botón para mostrar el teclado, comprobamos también que se pulse alguna tecla, volvemos a cerrar el teclado y comprobamos que le emulador sigue funcionando a pantalla completa. Perfecto, ya casi lo tenemos.


3ª parte - Modificación del módulo para automatizarlo todo

Una vez comprobado que todo funciona: emulador, juegos, controles y teclado virtual, ahora nos disponemos a configurar el módulo para añadir todo lo que hemos creado.

tutoconfigspectrumnote

Abrimos el módulo dentro de la carpeta Modules de Hyperspin con el bloc de notas, por ejemplo. Aquí tenemos que añadir varias líneas. Si tenemos algún JoyToKey funcionando tenemos que cerrarlo para no crear conflicto en la asignación de teclas. Para eso añadimos una línea al principio del módulo (después de la descripción si la tiene). La línea dirá lo siguiente:

Process, Close, JoyToKey.exe

Siendo JoyToKey el nombre del ejecutable, si no lo habéis cambiado por otro. Si es así, poned el nombre que hayáis usado.

Ahora toca añadir nuestro "Default", este se abrirá siempre al iniciar el módulo, pero también se cerrará si encuentra algún juego con una configuración específica. También vamos a añadir el teclado virtual, por lo que insertaremos estas dos líneas en el módulo, justo debajo de la anterior si la hemos creado:

Run, .\Emulators\ZX Spectrum\Joytokey\Default\JoyToKey.exe
Run, .\Emulators\ZX Spectrum\Kpp\Kpp.exe


Aseguraros que la ruta hacia el emulador es la correcta, poned la que tengáis vosotros.

Bien, con esto ya tenemos funcionando nuestro default y nuestro teclado cada vez que lanzamos un juego. ¿Pero qué pasa si queremos jugar a un juego con una configuración específica del teclado? Pues entonces lo que tendremos que hacer es ir añadiendo una cadena de texto, como la siguiente, para cada uno de ellos seguidamente de las dos instrucciones que acabamos de escribir:

If ( romName = "nombredeljuego")
{
Process, Close, JoyToKey.exe
Run, ".\Emulators\Zx Spectrum\Joytokey\nombredeljuego\JoyToKey.exe"
}


Iremos añadiendo esta cadena una detrás de otra hasta tener todos los juegos con sus controles asignados. Al final de la cadena, justo antes de lanzar el juego, debemos añadir una pequeña línea con una pausa, ya que a veces, si no, se nos puede quedar trabado el emulador, así nos aseguramos que todo funcione perfectamente. La instrucción es la siguiente:

Sleep, 1000

Y ya solo nos queda cerrar todo esto para volver a Hyperspin. Para hacerlo, añadimos estas líneas en el apartado destinado a ello:

Process, Close, JoyToKey.exe
Process, Close, Kbb.exe
Run, .\rutadeljoytokeyprincipaldevuestrohyperspin\JoyToKey.exe


tutoconfigspectrumnote2

En la última línea añadid el directorio que uséis para vuestro JoyToKey, si es que tenéis uno para manejar vuestro Hyperspin, claro. Si no, esta línea la podéis omitir.

Bueno, pues ya está todo!!! Si no hemos cometido algún error, debería funcionar a la perfección. Al pulsar el botón asignado del panel dentro de un juego, el emulador saldrá de pantalla completa, se mostrará el teclado y podrás elegir tecla o teclas para ser pulsadas, y volver al juego a pantalla completa pulsando de nuevo el botón asignado.

tutoconfigspectrumfinal

Espero que os sirva de ayuda como me ha servido a mí para tener mi Spectrum como se merece y poder jugar a la mayoría de sus juegos desde un panel de control arcade.

¡¡¡Suerte con las configuraciones, compis!!! Un saludo!!!



- Por elreypescador -
 
Web  Top
view post Posted on 27/3/2015, 15:26     +1   -1


Group:
Member
Posts:
398
Location:
Madrid

Status:


¡Que chulo! Pero... a ese paso no acabo yo de configurar hasta el 2050. Bueno, no pasa nada, está a la vuelta de la esquina :)
Muchas gracias por el trabajazo, lo incluyo seguro.
 
Top
j0z3
view post Posted on 27/3/2015, 16:31     +1   -1




ES-PEC-TA-CU-LAR!! Menudos currazos os pegáis. Chincheta para este tutorial!!

Gracias! :woot:
 
Top
view post Posted on 28/3/2015, 02:49     +1   -1
Avatar


Group:
Member
Posts:
203

Status:


Buena elreypescador :)
 
Top
Cholix
view post Posted on 28/3/2015, 14:26     +1   -1




Un tutorial genial!!!!

Seguro que a más de un@ le has alegrado el día. Enhorabuena ;)

Saludos.
 
Top
view post Posted on 30/3/2015, 16:35     +1   -1
Avatar


Group:
Member
Posts:
40
Location:
España (Madrid)

Status:


:woot: :woot: jod.... este tuto lo pongo en practica esta noche, muy muy bueno mil gracias.
 
Web  Top
view post Posted on 31/3/2015, 14:52     +1   -1
Avatar


Group:
Moderadores
Posts:
17,878
Location:
Zona Arcade.

Status:


Si señor!! Gran ayuda..

Muy bien elrey compañero..


Saludos!!
 
Web Contacts  Top
view post Posted on 19/4/2016, 16:17     +1   -1


Group:
Member
Posts:
55
Location:
Cadiz

Status:


felicidades por el tutorial el rey pescador...pero estoy configurando amiga y spectrum en mi hyper y no me carga ni la pantalla de configuracion de kpp....hago todos los pasos pero seguro que algo hago mal...he copiado la carpeta en la carpeta hyperspin y en la carpeta del emulador de spectrum...pero no me carga....puede ser por retros que es la ultima version???

un saludo
 
Top
view post Posted on 20/4/2016, 09:58     +1   -1


Group:
Member
Posts:
4,615
Location:
Murcia

Status:


Pues ni idea Ronnarid... El programa funciona fuera de Hyperspin??? Tuve una vez un problema de funcionamiento en un ordenador con WindowsXP, pero en Windows7 no he tenido ninguno.

Dame más detalles a ver que podemos hacer. A ver si es alguna librería de Windows o algo parecido.

Un saludo!!!
 
Top
view post Posted on 20/4/2016, 18:04     +1   -1


Group:
Member
Posts:
55
Location:
Cadiz

Status:


buenas tardes

no k va no me va fuera de hiperspyn...es mas no me sale ni el menu para configurarlo antes de entrar en hiperspyn...abro el administrador de tareas de windows y aparece como si se estuviera ejecutando pero no me aparece nada...esk me gustaria usarlo para configurar juegos de spectrum y para amiga tb....no se si se podria usar tb..

un saludo
 
Top
view post Posted on 25/4/2016, 10:03     +1   -1


Group:
Member
Posts:
4,615
Location:
Murcia

Status:


Vale. En la barra de tareas debería salirte el icono del programa, y con el botón derecho deberías poder acceder al menú del mismo. Si no es así no sé dónde podría estar el problema.

El programa se supone que funciona con varios emuladores de ordenador, pero yo sólo lo he conseguido hacer funcionar desde Hyperspin con el de Spectrum y me costó un poquito, la verdad.

Espero que tengas suerte con el asunto compi. Un saludo!!!
 
Top
view post Posted on 25/4/2016, 11:11     +1   -1


Group:
Member
Posts:
55
Location:
Cadiz

Status:


buenas tardes

el emu que uso es el spectaculator para hyperspin....he leido que funciona con el zxspin..podria ser por eso..pero de todos modos no me sale en la barra de herramientas ni nada..simplemente en el administrador me sale ejecutado pero no me sale ningun menu...de todos modos gracias un saludo!
 
Top
view post Posted on 30/9/2016, 23:57     +1   -1


Group:
Member
Posts:
79
Location:
San Lorenzo de El Escorial (Madrid)

Status:


Muy buenas, yo estoy empezando con esto... pero lo que he hecho ha sido crear un remapeo para cada juego (Fichero .ekm, lo crea el propio Emuzwin) a teclas conocidas. Por ejemplo el típico Q, A, O, P del Spec lo he mapeado al cursor, y el disparo a la Z, así con cada juego del Spec, direcciones a cursor, y disparo a la Z. También cada tecla de comienzo de cada juego la he mapeado al 1 (ejemplo: si en camelot warriors necesitas pulsar la R para comenzar, he mapeado la R al 1).

Notese la similitud con MAME.... :)

Luego con el JoytoKey he mapeado la palanca al cursor, un boton de disparo a la Z y el player 1 al 1.

De momento funciona, no se que pasara cuando instale el resto de emuladores que tengo pensado. Creo que es una forma alternativa a la propuesta por Mikonos...

Un saludo a todos.
 
Top
view post Posted on 1/10/2016, 16:10     +1   -1
Avatar


Group:
Moderadores
Posts:
17,878
Location:
Zona Arcade.

Status:


Buen aporte Edu!!!!.

Una alternativa para personalizar los emus con Joytokey y asignar teclas

Un saludin.
 
Web Contacts  Top
view post Posted on 1/10/2016, 21:43     +1   -1


Group:
Member
Posts:
79
Location:
San Lorenzo de El Escorial (Madrid)

Status:


En serio Balle??? Que yo no soy nadie. Te parece buena opción??????

Muchas gracias!!!!
 
Top
15 replies since 27/3/2015, 14:42   1074 views
  Share