VOGONS


First post, by ottelo9

User metadata
Rank Newbie
Rank
Newbie
The attachment IMG_9674.jpg is no longer available

Connect your PS1/PS2 controller via a adapter/converter (selfmade or from me) directly to your parallel port and play every game in real MS-DOS (reboot in DOS with Win95/98) on real old hardware.

Background/Project history
I bought an old laptop this year (an IBM ThinkPad 380XD) to relive the feeling from my childhood 😜. Windows 98 SE runs perfectly, but old games such as Orion Burger or other rarities from the ‘Gold Games 2’ collection don’t run on Windows. That means booting the machine into MS-DOS mode. However, this means you don’t have CD-ROM, mouse or USB support. Fortunately, there’s ‘MS-DOS Mode Super Easy’ to provide CD-ROM and mouse support. I then had to look a bit further to get USB support so I could get my Logitech USB dongle mouse working.

So I was able to play through Orion Burger on MS-DOS 😉. Next up, though, was a different adventure game: *Time Gate Knight’s Chase*. It’s controlled via a MIDI controller/joystick or keyboard. But as I wanted to play comfortably with a controller, and my laptop doesn’t have a MIDI port, whilst the USB support doesn’t work with joysticks, I had to come up with a solution. There is a docking station with a MIDI port for my ThinkPad, but nah. Too expensive, hard to find and bulky. Running the MIDI port directly from the motherboard: not interested.

SNESKEY
I’ve found what I was looking for. There’s a programme called SNESKey from 1998. It runs in the background in DOS and virtually routes the buttons on an SNES controller as keyboard keys. With the latest version, it was also possible to connect a PSX controller. The whole thing is connected via the parallel port (LPT). With a few diodes and cables, you can build your own adapter. Long story short… it never worked with my PSX controller. I even modified the SNESkey.exe file (using AI and my own programming knowledge) so that it would run in test mode at all. But it never worked with actual games (more info on my blog).

Nevertheless, I still wanted to use my PS1 controller on my retro laptop. As I’d already fed my AI with the SNESKey, I decided to put it to work on a project of its own. And that’s how PSXKEY came about. The AI tried several times to talk me out of seeing the project through, arguing that it would be much easier just to give up and use the keyboard or simply use a DOS emulator 😉. I stuck to my guns.

Using PSXKEY
And lo and behold, it really does work perfectly. Simply copy PSXKEY.exe to any location and run it (in DOS). The programme will then attempt to load the PSXKEY.ini file containing the key mappings (PSX keyboard). If none exists, one will be created with default values. The tool then runs in the background and when you press a button on the controller, it simulates a keystroke on the keyboard. You can now simply start the game. You can customise the .ini file for each game and copy the .exe and .ini files into the game directory.

PSXKEY LPT-PSX Adapter

The attachment psxkey_3dmodel 1 low.png is no longer available

As not everyone can build their own PSX-LPT adapter, I’ve now designed a PCB and am currently having it manufactured. I already have the components to hand. I’m using a level shifter on the board to convert the 5V from the LPT port to 3.3V for the controller, as the IC in the controller can actually only handle 3.6V. A slightly higher voltage is also possible, but it causes the IC to age more quickly. This means the controller COULD be damaged if a level shifter isn’t used. So far, however, I haven’t come across anyone to whom this has happened, and I’ve already spent around 10 hours gaming with the DIY adapter (without a level shifter). But if I’m going to offer an adapter like this, it has to be professionally made.

Once I’ve got all the parts together, I’ll test the adapter thoroughly. If everything goes well, I’ll probably list it on eBay or in the classifieds. Feel free to contact me via PM if you’re interested or have any questions.

UPDATE:
The adapter is finished and I have tested it thoroughly. I’ve made five of them to start with and am now selling them on eBay.

Links
My german Blog ottelo.jimdofree.com
PSXKEY github Repo

Reply 1 of 1, by L-Link

User metadata
Rank Newbie
Rank
Newbie

Thanks a lot. I was years triying to make a PSX controller work on DOS without success. There is also another parallel port driver for DOS called Console Cable which anounced support for PSX controllers, but just like SNESKey I never was able to make it work with any PSX controller.

Your driver works really well and is fast and lightweight. I tested it with Aces of the Pacific and runs perfect.

However I have found two issues:

- It doesn't work on Project X and Lion King, both of them by East Point Software. I can't remember if SNESKey (using SNES or Genesis pads) have the same problem.

- Is there a way in the INI file to map a button to a numpad key? I tried putting "num5" but it seems that doesn't work. I have a version of Puzzle Bobble which uses that key and can't be changed to another one.

Thanks again for your work.