English Amiga Board

English Amiga Board (http://eab.abime.net/index.php)
-   News (http://eab.abime.net/forumdisplay.php?f=29)
-   -   PSXPort source released (http://eab.abime.net/showthread.php?t=107559)

BSzili 07 July 2021 05:24

PSXPort source released
1 Attachment(s)
I got in touch with PSXPort's developer Joe Fenton, who sent me with the latest user, developer and source archives and kindly agreed to release them. They are provided as is, so by using them, you accept full responsibility for any damage that might occur.

User archive: http://aminet.net/package/driver/input/psxport-user
Development kit: http://aminet.net/package/dev/misc/psxport-dev
Source code: http://aminet.net/package/driver/input/psxport-src

Q: What is PSXPort for?
A: It allows you to connect a PlayStation compatible controller to your Amiga's parallel port. With a multitap, up to four controllers and memory cards can be accessed (external power supply recommended).

Q: Why not just use an adapter that plugs to the standard DB9 joystick port?
A: These emulate a regular joystick or CD32 gamepad, which limits them to 7 unique buttons and a D-pad on the Amiga side. With this adapter programs can read all 14 buttons, D-pad and 2 analog sticks of the PlayStation controller from Amiga programs.

Q: What supports it?
A: Various commercial games support it natively, like Wipeout 2097, Payback, Shogo, Quake II, Heretic II, Descent: Freespace. Some open source ports also support it: ADoomPPC, BlitzQuake, Quake (ported by Frank Wille, Steffen Haeuser). You can also manage PlayStation memory cards with MCControl on your Amiga.
Of course for backwards compatibility this adapter can emulate a CD32 gamepad for games using lowlevel.library.
I also plan to add native PSXPort support to my Build FPS ports. Besides the regular movement controls these games have jumping, crouching, vertical aiming, an inventory, alternate fire, etc, which is a pain to map to only 7 buttons and a D-pad. Of course they can be played keyboard and mouse, but even there can be issues with pressing some keys simultaneously due to keyboard matrix limitations. This is where PSXPort comes in.

Q: How can I build one myself?
A: Here's a schematic for the PSXPort adapter. It's slightly different from the PC version, pay attention to pin 10 and 11 of the parallel port:

I also made an ASCII version:

1 / * | DATA
2 | * | CMD
3 |_*_| motor (7.2 - 9V)
4 | * | GND
5 | * | VCC (3.3 - 3.6V)
6 |_*_| ATT
7 | * | CLK
8 | * | unused
9 \_*_| ACK

DB25 male              PSX 9-pin male
    D0  2 ------------- 2 CMD
    D1  3 ------------- 6 /SEL (ATT)
    D2  4 ------------- 7 /CLK
    D3  5 --->|---|
    D4  6 --->|---|
    D5  7 --->|---|---- 5 VCC
    D6  8 --->|---|
    D7  9 --->|---|
  /ACK 10 ------------- 9 /ACK
  BUSY 11 ------------- 1 DATA
  GND 18 ---|
            |--------- 4 GND
  GND 19 ---|

-->|-- 1N4148 diode

Notice: While the 5 data lines have enough power for a single controller, if you plan to connect a multitap you should consider using an external 3.3V power supply.

vulture 12 July 2021 09:50

what would be cool, is if whdload added support for this somehow

BSzili 18 July 2021 16:21

1 Attachment(s)
Finally built myself one, it was relatively easy even with my modest soldering skills. The components didn't cost much either.
I tried it with PSXPortTest and the Quake port linked above, and they both worked great, all the buttons, analog sticks, etc. I can't wait to add PSXPort support to JFBuild.

kriz 18 July 2021 23:21

Very cool project, will try to build my own! Thanks!!

All times are GMT +2. The time now is 07:37.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, vBulletin Solutions Inc.

Page generated in 0.06507 seconds with 10 queries