Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add documentation for the PSX-input addon. #86

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions docs/add-ons/psx-input.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
---
title: PSX Input
# tags:
# -
pagination_next: null
pagination_prev: null
description: "Add-on to use various PSX controllers/peripherals in conjunction with GP2040-CE to send inputs to supported systems"
---

import InputLabelSelector, {
Hotkey,
} from "@site/src/components/LabelSelector.tsx";

# PSX Input

Select the button labels to be displayed in the usage guide:

<InputLabelSelector />
<br />

Purpose: This add-on is intended to allow you to use a GP2040-CE as an adapter to connect an Playstation 1 or 2.

It currently only supports digital pads, but support for analog sticks and dualshock 2 analog triggers may be added later.

![GP2040-CE Configurator - SNES Input](../assets/images/gpc-add-ons-psx-input.png)

## Web Configurator Options

- `Data Pin` - The GPIO pin used for Psx Data.
- `Command Pin` - The GPIO pin used for Psx Command.
- `Attention Pin` - The GPIO pin used for Psx Attention.
- `Clock Pin` - The GPIO pin used for Psx Clock.

Supported controller types and their mapping is as follows:

| GP2040 | PSX |
| ----------------------------- | ---------|
| <Hotkey buttons={["Up"]}/> | Up |
| <Hotkey buttons={["Down"]}/> | Down |
| <Hotkey buttons={["Left"]}/> | Left |
| <Hotkey buttons={["Right"]}/> | Right |
| <Hotkey buttons={["B1"]}/> | Cross |
| <Hotkey buttons={["B2"]}/> | Round |
| <Hotkey buttons={["B3"]}/> | Square |
| <Hotkey buttons={["B4"]}/> | Triangle |
| <Hotkey buttons={["L1"]}/> | L1 |
| <Hotkey buttons={["R1"]}/> | R1 |
| <Hotkey buttons={["L2"]}/> | L2 |
| <Hotkey buttons={["R2"]}/> | R2 |
| <Hotkey buttons={["S1"]}/> | Select |
| <Hotkey buttons={["S2"]}/> | Start |

## Hardware

### Requirements

SNES extension cable with individual wires, or just directly wire from the controller.

### Installation

![GP2040-CE Configurator - SNES Controller Cable Connector Pinout](../assets/images/gpc-add-ons-psx-input-pinout.svg)

This is a front view of the **male** snes connector, the one on the controller side.
You will also see the pins in the same order if you solder wires on the **rear** of the female connector.

Connect the SNES pins to the GPIO pins on the RP2040 board following this table.

| Pin number | Function | Rp2040 board pin |
|------------|---------------|----------------------------------|
| 1 | Data | `Data Pin` in web interface |
| 2 | Command | `Command Pin` in web interface |
| 3 | 7V (rumble) | - |
| 4 | GND | GND |
| 5 | 3V3 | 3V3 |
| 6 | Attention | `Attention Pin` in web interface |
| 7 | Clock | `Clock Pin` in web interface |
| 8 | - | - |
| 9 | Acknowledge | - |

## Miscellaneous Notes

None.
242 changes: 242 additions & 0 deletions docs/assets/images/gpc-add-ons-psx-input-pinout.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/gpc-add-ons-psx-input.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ Some of these add-ons are experimental and not all add-ons are interoperable wit
- [On-board LED Configuration](../../add-ons/on-board-led.mdx)
- [Player Number (X-INPUT ONLY)](../../add-ons/player-number.mdx)
- [SNES Input](../../add-ons/snes-input.mdx)
- [PSX Input](../../add-ons/psx-input.mdx)
- [SOCD Selection Slider](../../add-ons/socd-selection-slider.mdx)
- [Tilt Input](../../add-ons/tilt-input.mdx)
- [Turbo](../../add-ons/turbo.mdx)
Expand Down