¿Joystick USB en MSDOS?

Emulación de sistemas DOS, Windows, DR-DOS, OS/2, Linux y sus sabores. Desde 8088 hasta Pentium 3.
Bostar
ZX Spectrum 16
ZX Spectrum 16
Mensajes: 8
Registrado: 10 Sep 2016, 20:53
Sistema Favorito: PC
primer_sistema: Spectrum 16Kb/48Kb
Gracias dadas: 3 veces
Gracias recibidas: 2 veces

¿Joystick USB en MSDOS?

Mensajepor Bostar » 10 Mar 2023, 23:25

Una duda que me ha entrado hoy: ¿habría alguna forma de hacer funcionar un dispositivo USB (un joystick) en MSDOS?

Básicamente tiro de simuladores retro de los 80 y 90 y como he comentado en mi presentación, ando sopesando el montarme un 266 para usarlo para estas cosas. Pero no había caído en el tema de los joysticks. Acostumbrado a los hotas actuales con un montón de botones configurables a través de vjoy y similares, se me hace duro tener que volver a los puerto serie de antaño con 4 botones.

Y os lo creais o no, había algunos simuladores de aquella época que necesitaban muchos botones.

Lo único que se me ocurre es pillar alguna de estas preciosidades vintage:

Imagen

Aunque ahora dudo si éste era compatible con DOS o solamente Win95/98

Avatar de Usuario
zup
Amiga 2500
Amiga 2500
Mensajes: 2967
Registrado: 04 Sep 2009, 20:07
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo DS/3DS
Primera consola: Nintendo GameBoy
Ubicación: Navarra
Gracias dadas: 68 veces
Gracias recibidas: 322 veces
Contactar:

Re: ¿Joystick USB en MSDOS?

Mensajepor zup » 11 Mar 2023, 08:48

En el lado de software no creo que haya muchas esperanzas (¿o sí?) ya que tendrías que hacer un programa que interprete los datos del USB y cuando se lean los datos en el puerto del joystick los vuelque. Algo complicado, pero por otra parte por ahí está el sneskey que convertía datos del puerto paralelo en pulsaciones de teclas o botones (pero no recuerdo si podía mandar los ejes como datos analógicos, lo que es imprescindible en simuladores).

Por otra parte, se podría intentar hacer algo por hardware. He visto conversores para conectar joysticks DB15 a puertos USB (con diversa fortuna), pero no al revés.

Hacer un conversor (básico) de joystick USB a puerto DB15 usando un microcontrolador no debería ser problemático (salvo por que está por encima de mis posibilidades), pero solo para 4 ejes / 4 botones. Si tienes más que eso, la cosa se complica...
- Algunos joysticks (Logitech Wingman) soportaban más de 4 botones usando su propio protocolo.
- Otros (tuve un Gravis Phoenix) usaban 4 ejes y 4 botones en el puerto DB15, pero también incluían una clavija especial para el teclado y el resto de los botones simulaban pulsaciones de teclado.
- Creo que alguno de los "profesionales" usaban puerto serie para comunicar el resto de los botones.

Como ves, cuando te sales de 4 ejes / 4 botones, la cosa se complica bastante.

Lo de usar joysticks vintage a mi me atraería más si se puede restaurar decentemente (ese Thrustmaster pinta bastante potente), pero me da que el precio de adquisición va a ser bastante elevado.
I have traveled across the universe and through the years to find Her. Sometimes going all the way is just a start.
Además vendo cosas!

Avatar de Usuario
GXY
Amiga 1200
Amiga 1200
Mensajes: 1445
Registrado: 05 Oct 2013, 08:21
Sistema Favorito: Commodore Amiga
primer_sistema: Spectrum +2
consola_favorita: Sony PlayStation 1
Primera consola: Sony PlayStation 1
Gracias dadas: 36 veces
Gracias recibidas: 119 veces

Re: ¿Joystick USB en MSDOS?

Mensajepor GXY » 11 Mar 2023, 10:23

iba a añadir algo, pero es que el post de zup es tan completo que no da lugar a ello.

como bien ha comentado, los joysticks de la epoca con mas de 4 ejes y 4 botones utilizaban interfaz de teclado o algun otro invento similar. no creo que sea viable conectar un joystick moderno que se entienda con un juego MSDOS de los 80s-90s

y de hecho tampoco es que el soporte para USB en DOS sea ninguna maravilla. se que hay uno o dos implementaciones pero datan de finales de los 90s para USB de la epoca y su soporte de hardware conectable era parcial/incompleto.

creo que tu mejor opcion, utilizando un PC de la epoca, con conector db15 (o USB si encuentras un adaptador ISA (que esa es otra...) + el correspondiente driver y que todo el invento funcione), es el joystick vintage, y solo pudiendo tirar de ebay y similares y con lo raros de encontrar que son... prepara billetes. muchos billetes. [-o<

la otra opcion que se me ocurre es usar un PC moderno y DOSBox. ahi creo que no tendrias problema para usar el joystick que te de la gana, pero no sera un PC original de la epoca.

... aunque ahora que lo pienso creo que he visto algun video de meter piezas modernas (placa microATX o miniITX, fuente moderna, etc) en carcasas antiguas de XT/AT... no seria muy retro pero con paciencia, maña y algo de dinero, podria quedar un montaje bastante chulo.
RetroPescando... :mrgreen:

Bostar
ZX Spectrum 16
ZX Spectrum 16
Mensajes: 8
Registrado: 10 Sep 2016, 20:53
Sistema Favorito: PC
primer_sistema: Spectrum 16Kb/48Kb
Gracias dadas: 3 veces
Gracias recibidas: 2 veces

Re: ¿Joystick USB en MSDOS?

Mensajepor Bostar » 11 Mar 2023, 11:49

Gracias a ambos por responder. Desconocía cómo estaba el tema del soporte USB para DOS. Conocía los adaptadores que hay para USB y aunque nunca los he usado para DOS, siempre han sido bastante problemáticos.

Como el tema de montarme microcontroladores es algo que está muy lejos de mi capacidades, me temo que la única alternativa que tengo es la de usar algunos de los hotas de la época. Que sorprendentemente no están muy caros (en comparación con otro tipo de hardware vintage).

A parte del Thrustmaster TQS que he puesto en el anterior post, me viene el Suncom:
Imagen

Pero era un movidón montarlo para poder usar todos los botones. Había que conectarle un teclado de pines que era el que en realidad enviaba al ordenador los comandos que tenías asignado a los botones. Estéticamente era una gozada, pero un follón montarlo.

Me vienen también a la cabeza los CH:
Imagen
Pero no recuerdo si este modelo, la versión de puerto serie, tenia soporte para DOS. Son compatibles con Win98, ya que uso la versión USB que tengo a través de una versión de drivers + software antigua, pero no sé si para DOS hicieron algo. El problema es que voy a cambiarle los sensores y voy a perder la compatibilidad con ese software. De todos modos en wallapop se suele encontrar el stick a precio razonable.

Y por último los flight pro de thrustmaster:
Imagen

Nunca los he usado, no tengo ni idea de cómo funcionan. Por las fotos da la impresión que solamente tenían 4 botones. Algunas veces he visto ofertas por ellos en wallapop a precio asequible.
Acabo de ver que son solo compatibles con Win95 :(

ACTUALIZO por si el día de mañana alguien le puede interesar:
Había olvidado el Thrustmaster WCS Mk. II, el primer hotas que vi en mi vida:
Imagen
No los he llegado a tener nunca, no sé qué tal irá. Lo he visto en alguna ocasión en Todocolección a precio razonable. Puede ser una opción al hotas FLCS+TQS

La foto la he sacado de este artículo que hablan sobre él:
https://retroflightsim.blogspot.com/201 ... rk-ii.html

Visto lo visto, creo que voy a aparcar el asunto por un tiempo, que no estoy para gastos y ni tengo sitio donde meter otro hotas más. Por ahora seguiré con el PCem y el Vjoy (mientras oteo wallapop por si aparece alguna ganga :-ss ).

Lo dicho, gracias por vuestras respuestas.

Un saludo.
Última edición por Bostar el 11 Mar 2023, 23:21, editado 1 vez en total.

Bostar
ZX Spectrum 16
ZX Spectrum 16
Mensajes: 8
Registrado: 10 Sep 2016, 20:53
Sistema Favorito: PC
primer_sistema: Spectrum 16Kb/48Kb
Gracias dadas: 3 veces
Gracias recibidas: 2 veces

Re: ¿Joystick USB en MSDOS?

Mensajepor Bostar » 11 Mar 2023, 12:15

Acabo de encontrar ésto:

USBASPI V2.20 MS-DOS Driver
https://hddguru.com/software/2006.02.09-USBASPI-MS-DOS-Driver/

No sé si era ésto a lo que os referíais con el soporte USB para DOS que sacaron a finales de los 90. Aunque supongo que una cosa será que detecte un dispositivo USB y otra muy diferente que el simulador entienda que se trata de un joystick, aunque sea uno de 2 ejes y 4 botones.

No creo que me sirva de mucho, pero lo dejo por aquí por si en el futuro alguien busca información sobre ello.

Avatar de Usuario
Yomes
MSX Turbo R
MSX Turbo R
Mensajes: 365
Registrado: 04 Oct 2009, 21:55
Sistema Favorito: PC
primer_sistema: PC
consola_favorita: Nintendo SNES
Primera consola: Nintendo GameBoy
Gracias dadas: 374 veces
Gracias recibidas: 34 veces

Re: ¿Joystick USB en MSDOS?

Mensajepor Yomes » 11 Mar 2023, 12:42

Me temo que ese driver es sólo para unidades de almacenamiento (discos duros, pendrives, CD externos...). No sirve para otro tipo de periféricos.

Avatar de Usuario
cpcbegin
MSX Turbo R
MSX Turbo R
Mensajes: 264
Registrado: 31 May 2013, 05:32
Sistema Favorito: Amstrad CPC
primer_sistema: Amstrad CPC
consola_favorita: Nintendo SNES
Primera consola: (Otro)
Ubicación: Málaga
Gracias dadas: 104 veces
Gracias recibidas: 97 veces
Contactar:

Re: ¿Joystick USB en MSDOS?

Mensajepor cpcbegin » 12 Mar 2023, 00:11

Por emulación no hay problema en remapearlo.
Yo mismo uso mandos USB y Bluetooth en Batocera con juegos DOS.
Con hardware real va a ser misión casi imposible, a no ser que alguien invente algún cacharro con un Arduino por ejemplo.

garillete
Amiga 2500
Amiga 2500
Mensajes: 3250
Registrado: 08 May 2006, 19:31
Gracias dadas: 234 veces
Gracias recibidas: 420 veces

Re: ¿Joystick USB en MSDOS?

Mensajepor garillete » 12 Mar 2023, 17:52

Lo mas usual es usar los de tipo db15 que iban en los puertos de joysticks y todavia se encuentran (o eso supongo) a precio mas o menos economicos incluyendo las tarjetas...

Yo voy servido y hace mucho que no veo a como estan de precio pero me da a mi que es mas barato eso que un usb... Lo malo entiendo que seran los drivers no?
Antiguos Bytes.
http://zonadepruebas.org/garillete

Bostar
ZX Spectrum 16
ZX Spectrum 16
Mensajes: 8
Registrado: 10 Sep 2016, 20:53
Sistema Favorito: PC
primer_sistema: Spectrum 16Kb/48Kb
Gracias dadas: 3 veces
Gracias recibidas: 2 veces

Re: ¿Joystick USB en MSDOS?

Mensajepor Bostar » 12 Mar 2023, 20:39

Si, con emuladores no hay ningún problema. Además con Vjoy es una gozada por que puedes asignar un montón de funciones en cualquier hotas y no tienes que ni tocar el teclado. De vez en cuando le doy al EF2000, al AV8b y al LB2 cosa fina. Me encantan los que traen campañas dinámicas.

Como bien decís, el problema es hacerlo con hardware real. Como ya he comentado, de temas de electrónica y Arduino no controlo, tengo intención de ponerme algún día con ello, pero no tengo ni idea. Así que no sé si será posible hacer algo para que se comunique con DOS como si fuera un joy de 2 ejes + botones sin tener que usar hardware de la época.

Esta tarde he estado echando un vistazo a ver que se veía en Wallapop y todocolección y no he visto ninguna cosa interesante. También he estado buscando info sobre los hotas thrusmaster que he posteado antes, para ver si eran compatibles con DOS. Pero solo he encontrado tutoriales para convertirlos a USB.

También he buscado algo de información sobre si habría alguna manera de poner en comunicación Arduino con DOS, pero solo he visto tutoriales para ejecutar el DOS dentro de un Arduino :)

En cuanto a los drivers, no lo he mirado aún, pero me imagino que en Vogons habrá cosillas.

Como he comentado, me lo voy a tomar con calma. Esperaré a encontrar alguna oferta por un WCS mk2 o un TQS (aunque sigo dudando si éste es DOS friendly Confirmado: es DOS friendly) para hacer pruebas.

Un saludo.
Última edición por Bostar el 13 Mar 2023, 00:48, editado 1 vez en total.

Bostar
ZX Spectrum 16
ZX Spectrum 16
Mensajes: 8
Registrado: 10 Sep 2016, 20:53
Sistema Favorito: PC
primer_sistema: Spectrum 16Kb/48Kb
Gracias dadas: 3 veces
Gracias recibidas: 2 veces

Re: ¿Joystick USB en MSDOS?

Mensajepor Bostar » 13 Mar 2023, 00:43

He encontrado ésto en archive.org a través de Vogons:

https://web.archive.org/web/20110716012 ... ohnson.us/

The zip file contains more than 20 different programs, and includes drivers for keyboards, mice, joysticks, printers, disk drives, and hubs, as well as several different test and support programs. Unfortunately, the only type of host controller currently supported is UHCI (full-speed controllers made by Intel and Via Technologies). Support for additional host controllers (OHCI, EHCI, WHCI, XHCI) and devices will be added in the future.


Sobre los joysticks, en la documentación comenta:
USBJSTIK can also emulate joysticks at the hardware level, rather than
the BIOS (software) level, using a process called I/O Virtualization.
Emulating a joystick at the hardware level allows you to use a USB
joystick with almost any DOS program you can imagine. However, USBJSTIK
cannot perform I/O Virtualization on its own. In order Virtualize I/O,
you must have an appropriate memory manager installed via your
CONFIG.SYS file. Appropriate memory managers include Microsoft's EMM386
version 4.46 or later, and 386MAX. As far as I know, other memory
managers (such as QEMM or the EMM386 program that comes with FreeDOS) do
not support I/O Virtualization, and cannot be used with USBJSTIK if you
want to emulate joysticks at the hardware level.


Y permite usar más de 4 botones:
A further advancement came when one of the joystick manufacturers
decided to have more than four buttons on a joystick. There are two
possible ways of using the four bits of digital data associated with
the buttons. The first way is to have four independent buttons,
where any or all of them can be pressed at the same time (this is the
original use of the bits). We will call this the 4-button protocol.
The second way allows you to have as many as 15 buttons, but only one
of them can be pressed at a time. If you do press more than one at
the same time, the joystick will consider one of the buttons to be
"more important" than the other one, and only the most important one
will be sent to the computer. We will call this the 15-button
protocol. If you want USBJSTIK to emulate the 15-button protocol,
you would do the following:

USBJSTIK FifteenButtons: Yes


Suena demasiado bonito para ser verdad.


Volver a “PC Clásico”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 26 invitados