Página 1 de 2

Petición para core / firmware de Spectrum: 2º botón en interfases de joystick

Publicado: 10 Jun 2017, 11:08
por desUBIKado
He visto esta entrada interesante en el feisbuk del ZX Spectrum Next:

George Velesoft Andrew Seed Current version of K-MOUSE 2017-LP interface contain joystick connector and switches for select joystick mode. Kempston joystick mode support 2 fire buttons, but also SINCLAIR mode use two buttons (keys 6,7,8,9, fire1=0, fire 2=enter), QAOP joystick mode support also two fire buttons (QAOP, fire1=SPACE,fire2=M)

El caso es que me he puesto a buscar en la documentación del K-MOUSE de Velesoft y he encontrado esto:

http://velesoft.speccy.cz/kmouse/km-doc ... 5)_doc.pdf

KEMPSTON JOYSTICK / A-MOUSE : port 31(#1F)
==========================================
D0- joy RIGHT / XB
D1- joy LEFT / YB
D2- joy DOWN / XA
D3- joy UP / YA
D4- joy FIRE 1 / left button
D5- joy FIRE 2 / right button
D6- joy FIRE 3 / middle button
D7- always 0
(all signals on port #1F is active in log.1)


FULLER JOYSTICK / A-MOUSE : port 127(#7F)
=========================================
D0- joy UP / YA
D1- joy DOWN / XA
D2- joy LEFT / YB
D3- joy RIGHT / XB
D4- always 1
D5- joy FIRE 3 / middle button
D6- joy FIRE 2 / right button
D7- joy FIRE 1 / left button
(all signals on port #7F is active in log.0)

De este tema del segundo botón de joystick ya se ha sacado antes aquí por Uto ( viewtopic.php?f=14&t=241&hilit=dos+disp ... t=10#p8666 ) y también en este hilo por nihilblack ( viewtopic.php?f=12&t=614 ), y como ya dijo Quest, la señal de FIRE 2 no está conectada a nada en el core del spectrum ( viewtopic.php?f=12&t=614#p8629 )

En el feisbuk del ZX Spectrum Next decían que Velesoft había cambiado algunos juegos para hacer uso de los 2 botones de disparo. Yo no los he encontrado, solo veo los modificados para usar el Kempston mouse ( http://velesoft.speccy.cz/kmsoft.htm ).

El caso es que no parece tan difícil de implementar en el core del spectrum como otras cosas, y podría ser una mejora para juegos que piden dos disparos: disparo + grabadas, disparo + control del power up , saltar + disparar, etc.

Sería seguir la configuración de Velesoft:

Kempston y Fuller como está puesto más arriba - lo del 3er disparo no se si es posible o no, supongo que físicamente no, ya que tampoco lo tiene otros cores como el NES o SMS -

Sinclair 1: (keys 6,7,8,9, fire1=0, fire 2=enter)
Sinclair 2: (keys 1,2,3,4, fire1=5, fire 2=????) ????= No sé la especificación de Velesoft ¿quizás la 'A'?

Y crear un nuevo tipo de joystick OPQAMSPACE: (QAOP, fire1=SPACE,fire2=M) que mapease las direcciones y los dos disparos a esas teclas.

Si se hace también habría que actualizar el comando .JOYCONF para el esxdos.

¿Os parece útil o lo consideráis innecesario? :tomatazo:

Re: Petición para core / firmware de Spectrum: 2º botón en interfases de joystick

Publicado: 10 Jun 2017, 17:09
por mcleod_ideafix
desUBIKado escribió: Kempston y Fuller como está puesto más arriba - lo del 3er disparo no se si es posible o no, supongo que físicamente no, ya que tampoco lo tiene otros cores como el NES o SMS -

Sinclair 1: (keys 6,7,8,9, fire1=0, fire 2=enter)
Sinclair 2: (keys 1,2,3,4, fire1=5, fire 2=????) ????= No sé la especificación de Velesoft ¿quizás la 'A'?
El protocolo Sinclair tiene un problema, y es que usando un único puerto no es posible tener más de un botón de fuego, porque lo que hace es usar una semifila del teclado, que son cinco teclas (4 de direcciones y 1 disparo).

Kempston y Fuller es técnicamente posible, para el joystick real. Para el joystick emulado en el teclado la implementación está limitada a 5 acciones.

¿Cuántos juegos soportarían Kempston o Fuller con dos disparos, que no pueda manejarse de ninguna otra forma?

Re: Petición para core / firmware de Spectrum: 2º botón en interfases de joystick

Publicado: 10 Jun 2017, 17:30
por Tromponauta
En los modelos +2 y +3 siempre he pensado que lo mejor seria usar los dos puertos de Joystick para un solo Joystick con muchos mas botones y usar la opción de redefinir teclado con la libertad que eso te da a la hora de cablear, en el ZX - Uno quizás se podría hacer con el invento de Antonio usando protocolo Sinclair, eso si esto solo valdría para un solo jugador.

Re: Petición para core / firmware de Spectrum: 2º botón en interfases de joystick

Publicado: 10 Jun 2017, 22:32
por Scooter
Pero eso es la eterna discusión. Podemos hacer un interfaceX que so el software no lo soporta...

Enviado desde mi 5056D mediante Tapatalk

Re: Petición para core / firmware de Spectrum: 2º botón en interfases de joystick

Publicado: 10 Jun 2017, 23:22
por desUBIKado
Scooter escribió:Pero eso es la eterna discusión. Podemos hacer un interfaceX que so el software no lo soporta...
Ahí tienes razón. Si se crea un nuevo FIRE2 para los interfases de joystick solo podrían ser usados en juegos nuevos que los tuviesen en cuenta. No he encontrado los juegos antiguos que puede haber adaptado Velesoft, ni tampoco se si desde que sacó su interfase en el 2008 hay muchos juegos que han tenido en cuenta la posibilidad de un 2º botón de joystick. Quizás juegos de Europa del Este.

Por otra parte, sí que resulta muy incomodo, si estás jugando, el tener que dejar de sujetar el gamepad o el joystick para darle a una tecla. Ejemplos de juegos que usan más de una acción:

R-Type: 4 direcciones + Fire + Detach
Green beret: 4 direcciones + Stab + Shoot
Nemesis: 4 direccions + fire + select
Head over Heels; 4 direcciones + jump + fire + carry + swop
Gryzor: 4 direcciones + fire + jump

Quizás para juegos antiguos la solución sería crear un nuevo interfaz de joystick que mapeara las 4 direcciones y los 2 botones a O-P-Q-A-SPACE-M, y luego usar la opción de REDEFINIR TECLAS para asignar las acciones a esas teclas. A menos que lo dicho antes por McLeod, "para el joystick emulado en el teclado la implementación está limitada a 5", impida hacer lo anterior.

O bien, pues tampoco le veis tanta utilidad, que a veces también yo me hago mis propias pajas mentales.

Re: Petición para core / firmware de Spectrum: 2º botón en interfases de joystick

Publicado: 10 Jun 2017, 23:40
por Tromponauta
Pero todos esos juegos que propones son para un sólo jugador, creo que no merece la pena liarse tanto con nuevos protocolos cuando dos puertos normativa sinclair te ofrecen 10 teclas, del 1 al 0, de verdad que creo que con un pad con dos conectores y direcciones más botoneras a esas teclas y redefiniendo "Keyboard" con esas pulsaciones ya tienes lo que quieres sin complicarte la vida, no hay que modificar ni los juegos ni nada, y es un mod del pad que lo puede hacer cualquiera.

Re: Petición para core / firmware de Spectrum: 2º botón en interfases de joystick

Publicado: 11 Jun 2017, 07:32
por nihilblack
Otros ejemplos:

Terra Cresta: 4 direcciones + disparo + split
Cabal: 4 direcciones + disparo + granadas

Habrá montones.

Re: Petición para core / firmware de Spectrum: 2º botón en interfases de joystick

Publicado: 13 Jun 2017, 15:29
por spark2k06
Aquí os presento una alternativa, que además es compatible por si mismo con muchos cores, no sólo el de spectrum.

viewtopic.php?t=1500

Enviado desde mi Thor mediante Tapatalk

Re: Petición para core / firmware de Spectrum: 2º botón en interfases de joystick

Publicado: 13 Jun 2017, 15:41
por Tromponauta
Es muy interesante, cuantas funciones de disparo adicional implementa cada puerto de Joystick ?

Re: Petición para core / firmware de Spectrum: 2º botón en interfases de joystick

Publicado: 13 Jun 2017, 15:48
por spark2k06
Tromponauta escribió:Es muy interesante, cuantas funciones de disparo adicional implementa cada puerto de Joystick ?
Todas las funciones que tiene el interface las he documentado en una wiki sobre el mismo, échale un vistazo:

https://spark2k06.sytes.net/joy2ps2/

(Debes añadir una excepción en el navegador cuando te avise de que el certificado SSL no es de confianza)

En cada puerto de joystick puedes conectar gamepads de megadrive de 6 botones incluso, asignadas a 6 teclas, perfectamente redefinible en muchos juegos de ordenador (como el spectrum, amstrad cpc, etc)... no se exactamente si te refieres a eso con las funciones de disparo adicional, en cualquier caso, el firmware es actualizable, se podrá hacer lo que alcance nuestra imaginación ;-)