Herramientas de usuario

Herramientas del sitio


joy2ps2

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
joy2ps2 [2024/06/19 18:38] – [Modo Teclado (KEYSTROKES)] spark2k06joy2ps2 [2024/06/19 19:01] (actual) spark2k06
Línea 1: Línea 1:
-====== Descripción ======+<wrap centeralign> 
 +{{::joy2ps2.png?600|}} 
 +</wrap>
  
-Joy2PS2 es una interfaz versátil diseñada para conectar uno o dos gamepads de varias plataformas retro. Esta solución convierte y redirige los eventos de los gamepads en pulsaciones de teclado hacia un puerto PS/2+[[https://dokuwiki.aitorgomez.net/joy2ps2_es|Documentación en Español]]
  
-Encontrarás este tipo de puerto en PCs antiguos y algunos modernos, así como en dispositivos recientes como el Next o el ZXUno, siendo este último la plataforma para la cual fue inicialmente diseñada. Esta interfaz es altamente compatible y adaptable, incluyendo varios mapas de teclado en su firmware para facilitar la interacción con diversos sistemas. +[[https://dokuwiki.aitorgomez.net/joy2ps2_en|Documentation in English]]
- +
-Nota: A partir de la release 2, Joy2PS2 es compatible con PCs reales que utilizan conexión PS/2. +
- +
-{{::case_joy2ps2.jpg?600|}} +
- +
-El diseño original del logo y de la carcasa para la versión 2.3 de Joy2PS2 fue creado por [[https://twitter.com/mejias3d|Jorge Mejias Cazorla]]. Puedes encontrar más de su trabajo en su perfil de Twitter: +
- +
-[[https://www.flickr.com/photos/133386349@N08/shares/13m92J|Fotos de la carcasa y PCB de la versión 2.3 de Joy2PS2]] +
- +
-{{:snes_joy2ps2.jpg?400|}} +
- +
-[[http://www.zxuno.com/forum/viewtopic.php?f=25&t=1625|Versión integrada en mando SNES, por Antonio Villena]] +
- +
- +
-[[https://www.youtube.com/watch?v=GII2eh_ROhA|Video de demostración de la versión 1.0 de Joy2PS2, utilizando el antiguo firmware de Arduino]] +
- +
- +
- +
-Los gamepads compatibles con la interfaz son los siguientes: Atari, NeoGeo OldStyle, MSX, Amstrad CPC, VIC 20, Sega Master System, Sega Megadrive (de 3 o 6 botones), Amiga, ZX Spectrum y NES Famicom DB9. Todos ellos pueden conectarse directamente a los zócalos DB15 o DB9. Sin embargo, algunos como el MSX, necesitarán un adaptador especial para utilizar el tercer botón. +
- +
- +
-====== Controles ====== +
- +
-Se puede acceder a un estado especial llamado SHIFT en cualquier momento usando cualquiera de las siguientes combinaciones: +
- +
-  * Presionar Start + Botón 1 +
-  * Presionar Select + Start +
-  * Pulsar y soltar la tecla Keymapper (necesario solo para gamepads sin el botón Start) +
- +
-En el modo SHIFT, podría parecer que ninguno de los botones funciona, pero esto no es correcto. En este modo, las acciones se activan con el botón 1 del gamepad como evento final. Para cancelar el modo SHIFT, se puede pulsar nuevamente una combinación de SHIFT o el botón 2 del gamepad. +
- +
-Nota: Las combinaciones descritas se realizan presionando y soltando los botones, sin mantenerlos presionados. Cualquier cambio de dirección reinicia el contador de las otras acciones. +
- +
-  * Sólo botón 1: Cambia la configuración de cursores a OPQA y viceversa en el Joystick 1 (el principal). +
-[[https://dokuwiki.aitorgomez.net/doku.php?id=joy2ps2#mapas_de_teclado|Mapas de teclado]]  +
-  * Sólo botón 2: Cancela el modo SHIFT. También puedes cancelarlo volviendo a pulsar la combinación de SHIFT. +
- +
-{{:shiftmode_zxuno.png?800|}} +
- +
-===== Reinicio del ZXUno ===== +
- +
-A continuación se describen las secuencias para reiniciar el ZXUno a través del modo SHIFT: +
- +
-  * **1 vez abajo y luego botón 1**: Reset. Se cambia automáticamente a cursores. +
-  * **2 veces abajo y luego botón 1**: MasterReset. Se cambia automáticamente a cursores. +
-  * **3 veces abajo y luego botón 1**: MasterReset y acceso a ROMs. Se cambia automáticamente a cursores. +
-  * **4 veces abajo y luego botón 1**: MasterReset y acceso a cores. Se cambia automáticamente a cursores +
-  * **5 veces abajo y luego botón 1**: MasterReset y acceso al BIOS. Se cambia automáticamente a cursores. +
-  * **6 veces o más abajo y luego botón 1**: Continúa en la opción de 5 veces. +
- +
-===== Menú de Juegos ===== +
- +
-Las siguientes secuencias permiten navegar por el menú de juegos usando el modo SHIFT: +
- +
-  * **1 vez arriba y luego botón 1**: Acciona la tecla 'R'+
-  * **2 veces arriba y luego botón 1**: Acciona la tecla '0'+
-  * **Repetir hacia arriba seguido del botón 1**: Continúa secuencialmente desde '1' hasta '9', donde se mantiene. +
- +
-===== Cargador de juegos ===== +
- +
-Utiliza las siguientes secuencias en el modo SHIFT para cargar juegos: +
- +
-  * **1 vez derecha y luego botón 1**: Activa el NMI. +
-  * **2 veces derecha y luego botón 1**: Ejecuta las teclas 'LOAD ""' (modo 128k). +
-  * **3 veces derecha y luego botón 1**: Ejecuta las teclas 'J ""' (load"" modo 48k). +
-  * **4 veces derecha y siguientes**: Se mantiene en la opción de las 3 veces. +
- +
-===== Funciones extra ===== +
- +
-Las siguientes funciones pueden activarse en el modo SHIFT mediante las secuencias descritas: +
- +
-  * **1 vez izquierda y luego botón 1**: Activa el Modo Teclado (detalles más abajo). +
-  * **2 veces izquierda y luego botón 1**: Ejecuta la función Escape (útil para joysticks de un solo botón, usado junto con el botón de Keymapper como shift). +
-  * **3 veces izquierda y luego botón 1 del jugador 1 o 2**: Cambia el mapa de teclado del jugador correspondiente (ver detalles de los mapas disponibles más abajo). +
-  * **4 veces izquierda y luego botón 1**: Cambia de modo de vídeo (Scroll / Lock). +
-  * **5 veces izquierda y siguientes**: Se mantiene en la opción de cambio de vídeo. +
- +
-===== Cambio entre DB15/DB9 y DB9x2 ===== +
- +
-Para alternar entre las configuraciones DB15/DB9 y DB9x2, sigue estos pasos mientras estés en modo SHIFT: +
- +
-  * Presiona y mantén pulsado el botón 1, luego pulsa el botón 2. +
- +
-La configuración seleccionada se mantendrá incluso después de un reinicio en caliente del ZXUno. +
- +
-===== Tiempos de envío de Scancodes ===== +
- +
-Desde la release 3, los tiempos de semireloj y reloj para el envío de Scancodes en el ZXUno, tras un reinicio en frío o en caliente, se ajustan a los estándares de un teclado real, siendo 16 y 32 us respectivamente. +
- +
-  * **En modo SHIFT, manteniendo pulsado Start y presionando ARRIBA**: Disminuye los tiempos en múltiplos de cuatro, hasta un mínimo de 4 y 8 us. +
-  * **En modo SHIFT, manteniendo pulsado Start y presionando ABAJO**: Aumenta los tiempos en múltiplos de cuatro, hasta un máximo de 16 y 32 us. +
- +
-===== Habilitación / Deshabilitación de la Escucha de Comandos del Host ===== +
- +
-Desde la release 5, la función de escucha de comandos del host en el ZXUno está deshabilitada por defecto y tras cualquier reinicio, ya sea en frío o en caliente. +
- +
-  * **Para habilitar la escucha**: En modo SHIFT, presiona y mantén pulsado el botón 1, luego pulsa la tecla derecha. +
-  * **Para deshabilitar la escucha**: En modo SHIFT, presiona y mantén pulsado el botón 1, luego pulsa la tecla izquierda. +
-  * **Para mantener activa la escucha de forma temporal**: Permanece en modo SHIFT. La escucha se desactivará automáticamente tras la inicialización del teclado. +
- +
- +
-====== Modo Teclado (KEYSTROKES) ====== +
- +
-Este modo permite interactuar con el teclado de manera directa a través de los siguientes comandos: +
- +
-  * **Arriba**: Cambia la tecla hacia adelante e imprime el carácter en pantalla. +
-  * **Abajo**: Cambia la tecla hacia atrás e imprime el carácter en pantalla. +
-  * **Izquierda**: Borra el carácter anterior. +
-  * **Derecha**: Acepta el carácter actual o inserta un espacio. +
-  * **Botón 1**: Cambia a la tecla correspondiente con la tecla derecha del shift (para imprimir mayúsculas o caracteres especiales). +
-  * **Botón 2**: Actúa como la tecla Intro. +
-  * **Para salir del modo**: Entrar al modo SHIFT y seleccionar otra opción, o salir del modo SHIFT si ya estás dentro. +
- +
-[[https://youtu.be/Av-fX18Ev8M|Ejemplo de "Hello World" en modo Teclado]] +
- +
-====== Firmware oficial ====== +
- +
-[[https://github.com/spark2k06/zxuno/tree/master/joy2ps2|Firmware oficial]] +
- +
-Para la actualización del firmware a partir del último firmware oficial [[https://github.com/spark2k06/zxuno/raw/master/joy2ps2/joy2ps2.hex|Joy2PS2.hex]]  se puede utilizar el programa de actualización diseñado para tal efecto [[https://github.com/spark2k06/zxuno/raw/master/joy2ps2/Joy2PS2Updater.zip|Joy2PS2Updater.zip]], el cual detecta automáticamente el puerto donde se encuentra conectada la interfaz: +
- +
-{{:joy2ps2updater.png?400|}} +
- +
-O bien utilizar el software de actualización de binarios para AVR [[http://russemotto.com/xloader/|XLoader]] +
- +
-Desde línea de comandos en OpenBSD o Linux, puede utilizarse avrdude con los parámetros adecuados: +
- +
-OpenBSD: avrdude -p atmega168 -c arduino -P /dev/cuaU0 -v -b 19200 -U flash:w:joy2ps2.hex +
- +
-El parámetro /dev/cuaU0 puede cambiar a 1, 2, 3... dependiendo si se encuentran otros dispositivos serie. +
- +
-En Linux es igual pero /dev/... cambiará en función de cómo se encuentre identificado por el sistema. +
- +
-====== Mapas de teclado ====== +
- +
-===== Mapa 0 ===== +
- +
-(Por defecto al conectar o reiniciar en frío el ZXUno) +
- +
-(Desde Release 4) +
- +
-{{:mapa0.png?400|}} +
- +
-===== Mapa 1 ===== +
- +
-(Desde Release 4) +
- +
-{{:mapa1.png?400|}} +
- +
-===== Mapa 2 ===== +
- +
-(Teclas por defecto de M.A.M.E) +
- +
-{{:mapa2.png?600|}} +
- +
-====== Listado de cores probados ====== +
- +
-A continuación se muestra un listado de cores en los que se ha probado la interfaz. +
- +
-[[http://www.zxuno.com/forum/viewforum.php?f=13|Enlace a Spectrum]] +
- +
-[[http://www.zxuno.com/forum/viewforum.php?f=37|Enlace a otros]] +
- +
-  * Spectrum +
-  * Amstrad CPC +
-  * BBC Micro +
-  * Atari 2600 ([[http://www.zxuno.com/forum/viewtopic.php?f=48&t=1378|Versión compatible con teclado]]) +
-  * NES ([[http://www.zxuno.com/forum/viewtopic.php?f=63&p=17554#p17554|Versión compatible con teclado]]) +
-  * Atari 800 XL +
-  * Kyp Spectrum +
-  * Jupiter ACE +
-  * SAM Coupe +
-  * ZX81 +
-  * Acorn Electron +
-  * Acorn Atom +
-  * TBBlue (Next) +
-  * PC/XT (Desde la release 2) +
-  * Apple II (resintetizando core con CLK y DATA como PULLUP, [[http://www.zxuno.com/forum/download/file.php?id=1344|Descarga aquí]]) +
-  * VIC-20 (resintetizando core con CLK y DATA como PULLUP, [[http://www.zxuno.com/forum/download/file.php?id=1346|Descarga aquí]]) +
-  * Oric Atmos (resintetizando core con CLK y DATA como PULLUP, [[http://www.zxuno.com/forum/download/file.php?id=1345|Descarga aquí]]) +
-  * C64 beta 7 (resintetizando core con CLK y DATA como PULLUP, [[http://www.zxuno.com/forum/download/file.php?id=1349|Descarga aquí]]) +
-  * MSX1 +
-  * Sega Master System (Desde release 4, y de momento sólo el primer jugador) +
-  * Arcade: Phoenix, Pacman, Galaxian, Frogger, Invaders, Scramble, Galaga (Desde release 4) +
-====== Versión actual ====== +
- +
-  * [[https://github.com/spark2k06/zxuno/raw/master/joy2ps2|Release 7]] +
- +
- +
- +
-====== Agradecimientos ====== +
- +
-Por último, agradecer a todos aquellos que de una manera u otra han contribuido a que este proyecto sea una realidad: +
- +
-[[http://zxuno.speccy.org/|ZXUno]] +
- +
-[[https://twitter.com/ZXUno|Equipo ZXUno]] +
- +
-[[http://www.zxuno.com/forum/|Comunidad ZXUno]] +
- +
-[[https://twitter.com/mejias3d|Jorge Mejias Cazorla (Mejias3D)]] +
- +
-[[https://twitter.com/antoniovil|Antonio Villena]] +
- +
-[[https://twitter.com/zxprojects|mcleod_ideafix]] +
- +
-[[https://twitter.com/SamQuest|Samuel (Quest)]] +
- +
-[[https://twitter.com/eubrunosilvapt|Bruno Silva]] +
- +
-[[https://twitter.com/yombo|Juanjo Luna (Yombo)]] +
- +
-[[http://denki.world3.net/arcade.html|Retro Adapter]] +
- +
-[[https://github.com/dkudrow/arduino/tree/master/PS2Emu|PS2Emu de Dani]] +
- +
- +
-====== FAQ ====== +
- +
-**Tengo un gamepad de Megadrive de 6 botones, reconoce todos o sólo 2 como en el conector DB9 del ZXUno?** +
- +
-Reconoce todos, se encontrarán mapeados a las teclas del mapa que se tenga configurado. Además, también funcionará el botón de Start y el botón de Mode para aquellos gamepads de Megadrive que dispongan del mismo. +
- +
-**Se puede jugar a 2 jugadores? Si se estan pulsando teclas correspondientes al primer jugador...** +
- +
-Por supuesto. Nada mas conectarlo, la interfaz se encuentra configurada para ser utilizada únicamente desde el puerto DB9 principal o el DB15 (Neogeo), si se utiliza el DB9 auxiliar (segundo jugador), se pulsarán teclas asociadas a los últimos botones del DB15 porque comparten pines. Solo hay que cambiar previamente a modo DB9x2 con la secuencia correspondiente estando en modo SHIFT. +
- +
-**Desde el menu de cores he seleccionado un core con distinto modo de vídeo al que tengo por defecto configurado en la BIOS. Sin un teclado físico conectado, cómo lo cambio?** +
- +
-Existe una secuencia de cambio de modo de vídeo estando en modo SHIFT, revisa la sección de combinaciones del modo SHIFT en esta misma wiki. +
- +
-**Hay un juego que no puedo comenzar porque no existe un atajo que mapee la tecla que pide en el menú de opciones, qué hago?** +
- +
-En el firmware se ha tenido en cuenta las teclas mas comunes en los menús de los juegos de ordenador, como son de 0 a 4 y la R para redefinir. Si vemos que son necesarias otras teclas, se pueden incluir en una versión actualizada del firmware, pídelo y se buscará la mejor opción si realmente es muy común... porque siempre hay que tratar de mantener la usabilidad de la interfaz. +
- +
-**Los mapeados de teclas no se ajustan a las necesidades de un determinado core o juego, hay solución para ello?** +
- +
-Nuevamente, desde el firmware todo o casi todo es posible. Y en cuanto a cores, lo ideal sería seguir una misma norma y no utilizar distintas teclas. Por defecto en la interfaz se ha tratado de elegir las teclas más comunes, aunque se podría revisar, si está justificado. +
- +
-**No me gusta la disposición de secuencias del modo SHIFT o el modo SHIFT en sí, yo lo haría de otra forma.** +
- +
-Es totalmente normal no estar de acuerdo con las secuencias del firmware oficial, cada uno puede tener sus preferencias. Se podría debatir entre todos los usuarios de la interfaz cuales son las combinaciones ideales y hacer un firmware alternativo al oficial (firmware de la comunidad), no hay problema. O bien si dispones de conocimientos de programación, modificarlo tú mismo a tu gusto ya que los fuentes están a disposición de todos ;-) +
- +
-**Cuando conecto un teclado externo se repiten pulsaciones de teclas al utilizar el gamepad.** +
- +
-Es debido a que el teclado externo dispone de escucha activa de comandos, y ello puede interferir en la comunicación al compartir CLK/DATA del conector PS/2. Existe una solución colocando un diodo en la linea DATA con el cátodo hacia el teclado externo, para mas información: +
- +
-http://www.zxuno.com/forum/viewtopic.php?f=63&t=1804 +
- +
-No obstante, Joy2PS2 nació con el objetivo de que fuera totalmente prescindible un teclado externo gracias a sus atajos multicore en ZXUno, para utilizar por ejemplo en maquinas arcade tipo bartop. Sin embargo con un teclado conectado la experiencia final de usuario puede ser mejor, siendo la solución del diodo la mejor encontrada hasta el momento.+
  
joy2ps2.1718822289.txt.gz · Última modificación: 2024/06/19 18:38 por spark2k06