VOGONS


First post, by myrkraverk

User metadata
Rank Newbie
Rank
Newbie

What were the arcade sticks made for DOS, if any? A quick websearch doesn't reveal anything from the DOS era.

I was never really a DOS gamer, so I have no recollection of the period correct hardware, and I don't know what brand names to look for.

Specifically, what I'm interested in, are pictures and hardware protocols so I can either test the peripherals with my own code in DOSBox, or implement the emulation layer for modern peripherals in DOSBox. Of course, if I implement any emulation, I can only guarantee it'll work with the specific arcade stick I have.

Ok, maybe I should clarify, even though SDL (which I believe is what DOSBox uses) has interface that abstracts peripherals, I cannot guarantee that any emulation I implement works "correctly" for some value of correctly except with the physical modern arcade stick I have.

Reply 3 of 5, by derSammler

User metadata
Rank l33t
Rank
l33t
jmarsh wrote on 2020-06-01, 04:00:

DOS joysticks (and support for them in games) were basically crap because the standard hardware only supported 2 sticks with 2 buttons each, so 4 axes and only 4 buttons total.

Are you aware that there were many DOS games supporting more than that? (flight-sims mainly) It's just a matter of how you use the inputs. E.g. you can wire up a combination of two buttons or otherwise illegal combinations (up+down, left+right) to create a new button. That was a commonly used technique, especially for systems using the 9-pin Atari-style connection. On the PC in particular, you can use the analog nature to create as many buttons (in theory) as you want by wiring the axes of the second joystick to resistors of different values.

Also, I don't see why this was "crap". It's more than what most other computers could do.

Anyway, I don't fully get the question. Whether a controller is a game pad, a joystick, or an arcade stick, makes no difference. They all use the game port in the same way. And DOS of course is not relevant for this either, as the game port works in DOS just like it works in Windows. (proprietary "digital" protocols aside)

Reply 4 of 5, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie
derSammler wrote on 2020-06-01, 08:09:

It's just a matter of how you use the inputs.

The analog values (sticks) were already a horrible hack and started to become unreliable as machines got faster. Trying to abuse them to shoehorn in more buttons is gross; the hardware design clearly wasn't thought out very well.

Also, I don't see why this was "crap". It's more than what most other computers could do.

"Computers" maybe, but look at actual arcade machines or consoles; arcades commonly had up to 4 sticks with 6 buttons each, and the SNES (which was prominent right around the time joystick ports started becoming common thanks to being included on sound blasters) had 2 controllers with 12 digital buttons each, using an expandable protocol that made it easy to add more.

Reply 5 of 5, by myrkraverk

User metadata
Rank Newbie
Rank
Newbie

Anyway, I don't fully get the question. Whether a controller is a game pad, a joystick, or an arcade stick, makes no difference. They all use the game port in the same way. And DOS of course is not relevant for this either, as the game port works in DOS just like it works in Windows. (proprietary "digital" protocols aside)

If I don't have hardware protocols and pictures, I can't verify that an emulation (mine or included in DOSBox) correctly maps up on my physical xinput arcade stick to the hardware signal for up in DOSBox; similarly for physical input buttons A and B (did I swap them?).

Preferably I'd like to test this with my own DOS code rather than some game, which makes the exercise more fun; and it makes it more important that I know the hardware protocol. The game port protocol is something I can easily look up, even though I haven't yet, but if something plugs into the PS/2 port instead, like mentioned above, that's the wrong protocol to test/emulate.