VOGONS


First post, by Volo

User metadata
Rank Member
Rank
Member

Dear Sirs,

Having not found a decent way to connect the joystick to my beloved MS-DOS laptop, I had to create a special Pad-to-PS/2 adapter. It turned out so good, that I find no shame in offering it to the public. Feel free to see the demo here:
CE3Yyl8.png

The device is being sold for US$ 30.00 a piece.
Optional native 5-pin wire for AT motherboards is US 5.00
Shipping is: US$6.00 for snail mail
US$7.00 par avion.

I've created this post to discuss the device, fix it's bugs, demonstrate it's features, and ask whether you'd actually need it. Consider this an official development thread.

CCZ60Ao.png

The device acts as PS/2 keyboard. It may act as a pass-though for a real keyboard or (if it does not detect real PS/2 keyboard) act on it's own. Every 7ms (twice per frame) it checks for gamepad button-presses and converts those to keyboard key-presses. Since I use Atmega32u4 micro-controller, it may act as both PS/2 or USB keyboard (though, PS/2 seems to be less quirky with pre-2000 setups).

So, in a single device you get:

  • SNES Gamepad to PS/2,
  • Genesis 3- and 6-Button Gamepad to PS/2,
  • Master System pad or MSX/Atari joystick to PS/2,
  • SNES Gamepad to USB,
  • Genesis Gamepad to USB,
  • Master System pad or Atari joystick to USB, and
  • PS/2 Keyboard to USB.

Default key assignment is quite comfortable, it fits 70% of gamer's needs and allows quite casually get through Norton Commander menus. Makes your PC feel like a jailbroken console 😀

hxJUUSA.png
If you don't like default bindings (i.e. 70% is not good enough) - you may customize those:
1. Press Scroll Lock (you may even do it in-game, as my device hijacks Scroll Lock LED),
2. Press keyboard key you wish to assign,
3. Press Gamepad key you wish to assign to,
4. Rinse and repeat for all buttons,
5. Press Scroll Lock again to save the setting.
6. GAMING TIME!

Customized key settings may be saved to energy-independent memory. There are 6 preset slots, which you can cycle using this button combination:

5EQwkzP.png

Volo's Gamepad to PS/2 Adapter Instruction Manual

gCbtRFK.jpg
iKf1aLx.jpg

PS/2 Wire pinout

yNSdmDHm.png

At the moment the device is sold by contacting me via email
Payment methods are: EU domestic bank transfer (SEPA), US domestic bank transfer (ABA), UK, AU, NZ domestic bank transfers, Wise or banking card.
The banking card is done though Paysend and shall require mobile phone number.

I really wish this project to succeed. 😘

Edit 2020-05-12: Added Master System pad and Atari joystick support.
Edit 2020-05-27: Renamed thread into "official thread".
Edit 2021-09-16: Updated with shipping info. Added instruction manual.

Attachments

Last edited by Volo on 2022-02-26, 09:30. Edited 25 times in total.

Want to play MS-DOS keyboard-only games with a gamepad? Feel free to purchase Volo's Pad-to-PS/2 by writing me an e-mail:
3hUGsDI.png

Reply 1 of 277, by aha2940

User metadata
Rank Member
Rank
Member

Very interesting device IMO, it seems to cover many needs and at a reasonable price. Hope you can make some for selling. If so, I'm interested. Thanks!

Reply 4 of 277, by darry

User metadata
Rank l33t
Rank
l33t

This seems fantastic . Those Gravis gamepads are not getting easier to find . This provides the option of using newly produced gamepads from the retro console market and avoids issues with non speed compensated joystick ports .

Reply 8 of 277, by dreamblaster

User metadata
Rank Oldbie
Rank
Oldbie

nice!

Visit http://www.serdashop.com for retro sound cards, video converters, ...
OPL3LPT, X2, S2, S2P, MCE2VGA, ... many projects !
New X2GS sound card : https://www.serdashop.com/X2GS
Thanks for your support !

Reply 9 of 277, by Volo

User metadata
Rank Member
Rank
Member
warstorck wrote on 2020-05-10, 20:45:

This looks absolutely awesome perfect alternative to the ridiculously expensive dynapoint gamestar. I definitely want one.

My device competes with:

  • SNESkey,
  • Dynapoint GameStar, and
  • Some Taiwanese PS/2 gamepad, which I can't really find online now.

- SNESkey is cool and free, but it does not work with my Compaq laptops, and on PC, where it works - it has sot of weirs, buffer. If you press button fast - it overloads and picks up a lag as large as 05.s. Had hard time shaking off those facehuggers in Duke Nukem 2 B) Also it need drivers.

- Dynapoint GameStar is pretty much the inspiration for my creation, but LGR's video REALLY blew it out of proportion. My device is better as:
1. Both SNES and SEGA pads have 12 keys each, while NES has only 8.
2. My device allows assigning keys without touching it. If you have a desktop - you may forget it's there.

- Taiwanese PS/2 gamepad is cool and cheap (about $20-30 used)... But I can't really remember its name now.

P.S. Vogons prohibit me PMing people for some reason. Guys who PMed me your e-mails - YOU ROCK!

P.P.S. Come on, guys! Criticize the thing! I wish to know what you really want with the adapter!

Want to play MS-DOS keyboard-only games with a gamepad? Feel free to purchase Volo's Pad-to-PS/2 by writing me an e-mail:
3hUGsDI.png

Reply 10 of 277, by keropi

User metadata
Rank l33t++
Rank
l33t++

Well it seems to do it's thing quite right, does it support hot plug of snes/md pads?

🎵 🎧 PCMIDI MPU , Orpheus , Action Rewind , Megacard and MK8330 soundcard website

Reply 11 of 277, by Volo

User metadata
Rank Member
Rank
Member
keropi wrote on 2020-05-10, 21:46:

Well it seems to do it's thing quite right, does it support hot plug of snes/md pads?

Just wiggled both controllers in and out a couple dozen times. System seems to be fine with it.
It REALLY dislikes PS/2 hot-plugging to the host system: may crash. Seems that it's more of PS/2 thing than my programming.

Also: need to implement 3-button Sega controller support. Now it understands only 6-button pads. I can't find the criterion used to differ those - real Sega Genesis does it somehow, though.

Want to play MS-DOS keyboard-only games with a gamepad? Feel free to purchase Volo's Pad-to-PS/2 by writing me an e-mail:
3hUGsDI.png

Reply 12 of 277, by synrgy87

User metadata
Rank Member
Rank
Member
Volo wrote on 2020-05-10, 22:21:
Just wiggled both controllers in and out a couple dozen times. System seems to be fine with it. It REALLY dislikes PS/2 hot-plug […]
Show full quote
keropi wrote on 2020-05-10, 21:46:

Well it seems to do it's thing quite right, does it support hot plug of snes/md pads?

Just wiggled both controllers in and out a couple dozen times. System seems to be fine with it.
It REALLY dislikes PS/2 hot-plugging to the host system: may crash. Seems that it's more of PS/2 thing than my programming.

Also: need to implement 3-button Sega controller support. Now it understands only 6-button pads. I can't find the criterion used to differ those - real Sega Genesis does it somehow, though.

PS/2 is not designed to be hot-pluggable and doing so isn't a good idea even with standard PS/2 Keyboards.

Looking into some emulator source code might help with the 3/6 button mode switch.

Reply 13 of 277, by lilkuz2005

User metadata
Rank Newbie
Rank
Newbie

Mr.Volo, if you are using an arduino pro micro as your encoder, do you plan to make your code available to download so others can build their own?

asus p3b-f, intel pIII 1000/133/256 thermaltake golden orb, 2x crucial 256mb pc133, nvidia geforce 3, aureal vortex 2, IDE to SD adapter samsung 128gb evo
asus p3v4x, intel pIII 650/100/256, 256mb pc133, 3dfx voodoo 3 3ooo, awe64 value!, 80gb hdd

Reply 14 of 277, by Jorpho

User metadata
Rank l33t++
Rank
l33t++
Volo wrote on 2020-05-10, 17:06:
So, in a single device you get: […]
Show full quote

So, in a single device you get:

  • SNES Gamepad to PS/2,
  • Genesis Gamepad to PS/2,
  • SNES Gamepad to USB,
  • Genesis Gamepad to USB, and
  • PS/2 Keyboard to USB.

If you have the Genesis connector there already, won't it work with other DB-9 controllers like the Atari 2600?
https://en.wikipedia.org/wiki/Atari_joystick_port

(Where do people source SNES connectors from, anyway? I wouldn't have thought they'd be easy to come across.)

I might be concerned about latency.

I suppose if the USB connector is used, the device will present itself as a USB keyboard? Would it be much more complicated to have the option to present itself as a USB gamepad?

Reply 15 of 277, by dionb

User metadata
Rank l33t
Rank
l33t
Volo wrote on 2020-05-10, 21:32:
My device competes with: […]
Show full quote
warstorck wrote on 2020-05-10, 20:45:

This looks absolutely awesome perfect alternative to the ridiculously expensive dynapoint gamestar. I definitely want one.

My device competes with:

  • SNESkey,
  • Dynapoint GameStar, and
  • Some Taiwanese PS/2 gamepad, which I can't really find online now.

They go further back, I have a gamepad with AT keyboard passthrough. Genius idea, shame about being about the worst gamepad I ever touched...

Its name: Rockfire Silver Shuttle Keyboard Emulator Control Pad

Maybe the PS/2 version you are referring to is a later revision.

P.P.S. Come on, guys! Criticize the thing! I wish to know what you really want with the adapter!

I'm no console player, but I'd love something like this for my Atari-style digital joysticks, particularly the 2-button variety, which don't play nice with my exising Atari->gameport adapter. I see a DE9 connector on that box. Could it do Atari as well?

Reply 16 of 277, by will1384

User metadata
Rank Newbie
Rank
Newbie

I like the idea of it, and I would likely buy one.

Right now I have two thin clients running DOS that I would like to use a gamepad with, one Neoware Capio that has PS/2 ports, and a printer port, but no game port, and a HP Compaq T5300 Thin Client that only has USB ports, and unfortunately the DOS USB drivers don't seem to work with the HP Compaq T5300 Thin Client, I tried the DOS USB keyboard and mouse drivers and they seem to crash or lock up, even when disabling BIOS support for the mouse and keyboard, however the BIOS does do a good job of allowing DOS to see a USB mouse and keyboard when the settings are enabled in BIOS, BTW I was trying to use a PS/2 to USB adapter so I could use an old PS/2 keyboard and mouse with the HP Compaq T5300 Thin Client and the keyboard would "mostly" work but the mouse would only move up and down, and I can't even use SNESkey with the HP Compaq T5300 because it lacks a printer port, so I need something.

Reply 17 of 277, by lilkuz2005

User metadata
Rank Newbie
Rank
Newbie

i was thinking about building something similar to this device but i wanted to be able to use usb gamepads, the usb port is more common then any old serial console game port these days and with usb you open the options for bluetooth and wireless 2.4ghz controllers, 8bitdo make some really nice retro console gamepads that are wireless. also using a snes to usb adapter or genesis to usb adapter would allow you to use those original game pads as well, im just starting my research into this project right now.

asus p3b-f, intel pIII 1000/133/256 thermaltake golden orb, 2x crucial 256mb pc133, nvidia geforce 3, aureal vortex 2, IDE to SD adapter samsung 128gb evo
asus p3v4x, intel pIII 650/100/256, 256mb pc133, 3dfx voodoo 3 3ooo, awe64 value!, 80gb hdd

Reply 19 of 277, by Tiido

User metadata
Rank l33t
Rank
l33t
Volo wrote on 2020-05-10, 22:21:

Also: need to implement 3-button Sega controller support. Now it understands only 6-button pads. I can't find the criterion used to differ those - real Sega Genesis does it somehow, though.

To differentiate 3 and 6button MD pads you see if on 3rd transition of TH from high to low the pad returns 0000 in RLDU bits and 1111 on 8th. 3 button pad will only ever return 00 in RL bits whenever TH signal is low. Here's some 68K code that I use in my MD stuff :

DetectControl:
MOVE.W (SYSFLAGS).W, D1
LEA P1DATA, A0
AND.W #$FFF0, D1
MOVE.B #$40, (A0) ;TH=1 x1CBRLDU
MOVE.B #$00, (A0) ;TH=0 x0SA00DU
NOP
NOP
MOVE.B (A0), D0
AND.B #%00001100, D0
BNE NoControl1
OR.W #$0001, D1 ;Got 3 buttons now
MOVE.B #$40, (A0) ;TH=1 x1CBRLDU
MOVE.B #$00, (A0) ;TH=0 x0SA00DU
MOVE.B #$40, (A0) ;TH=1 x1CBRLDU
MOVE.B #$00, (A0) ;TH=0 x0SA0000
NOP
NOP
MOVE.B (A0), D0
MOVE.B #$40, (A0) ;TH=1 x1CBMXYZ
MOVE.B #$00, (A0) ;TH=0 x0SA1111 - needed according to Chilly Willy
MOVE.B #$40, (A0) ;TH=1 x1CBxxxx
AND.B #%00001111, D0
BNE NoControl1
OR.W #$0002, D1 ;Got 6 buttons now
NoControl1: ;No controller or SMS pad

This hardware is pretty cool, one day my wallet will not be as light as it is now and I wouldn't mind this at all. I wonder how it will behave when sitting between keyboard and KVM, in theory there shouldn't be anything strange going on during computer switching. Double Scroll Lock + variety of keys are used to invoke the KVM function on the things I have around.

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜