Skip to content
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
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## [0.14.17] - 2023-12-05

- Added Support for Taito Egret II Mini Controller

## [0.14.16] - 2022-12-23

### Changed
Expand Down
3 changes: 3 additions & 0 deletions COMPATIBILITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,9 @@ This is a list of tested controllers. Please reach out to our Discord server if
- PS5 DualSense
- PlayStation Classic Controller

### Taito
- Egret II Mini Controller

### Toodles
- MC Cthulhu

Expand Down
76 changes: 70 additions & 6 deletions RFUSB_to_DB15/drivers.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,10 @@ void setupController(uint16_t vid, uint16_t pid, HIDController *controller) {
if (pid == PID_NEOGEO_MINI_PAD) setupNeoGeoMini(controller);
break;

case VID_TAITO:
if (pid == PID_TAITO_EGRET_II) setupTaitoEgret2(controller);
break;

case VID_UPCB:
if (pid == PID_UPCB) setupPS4(controller);
break;
Expand Down Expand Up @@ -427,15 +431,14 @@ void setupGenericZeroDelay(HIDController *controller) {
**************************/

/**
* Configures a Generic SNES pad and Compatible devices
* Configures a Generic Megadrive pad and Compatible devices
*
* Generic SNES Button layout
* Byte 0x01 0x02 0x04 0x08 0x10 0x20 0x40 0x80
* 0-2: NA
* 3: LEFT(0x00)/RIGHT(0xFF)
* 4: UP(0x00)/DOWN(0xFF)
* 5: NA, NA, NA, NA, Btn 2, Btn 5, Btn 4, Btn 1
* 6: Btn 6, Btn 3, NA, NA, COIN, START, NA, NA
* 0: Btn 4, Btn 5, Btn 6, Btn 1, Btn 2, Btn 3, START, COIN
* 1: NA
* 2: LEFT(0x00)/RIGHT(0xFF)
* 3: UP(0x00)/DOWN(0xFF)
*
* @param controller The HIDController that will be configured
*/
Expand All @@ -459,6 +462,20 @@ void setupDaemonMD(HIDController *controller) {

}

/**
* Configures a Generic SNES pad and Compatible devices
*
* Generic SNES Button layout
* Byte 0x01 0x02 0x04 0x08 0x10 0x20 0x40 0x80
* 0-2: NA
* 3: LEFT(0x00)/RIGHT(0xFF)
* 4: UP(0x00)/DOWN(0xFF)
* 5: NA, NA, NA, NA, Btn 2, Btn 5, Btn 4, Btn 1
* 6: Btn 6, Btn 3, NA, NA, COIN, START, NA, NA
*
* @param controller The HIDController that will be configured
*/

void setupDaemonSNES(HIDController *controller) {
// DPad setup
controller->ConfigButton(BUTTON_LEFT, 1, 0xFF, 0xFF);
Expand All @@ -477,6 +494,18 @@ void setupDaemonSNES(HIDController *controller) {

}

/**
* Configures a Generic Saturn pad and Compatible devices
*
* Generic SNES Button layout
* Byte 0x01 0x02 0x04 0x08 0x10 0x20 0x40 0x80
* 0: Btn 5, Btn 6, Btn 4, COIN, Btn 3, Btn 2, Btn 1, START
* 1: Btn 7, NA, NA, NA, NA, NA, NA, NA
* 2: LEFT(0xFF)/RIGHT(0x01)
* 3: UP(0xFF)/DOWN(0x01)
*
* @param controller The HIDController that will be configured
*/

void setupDaemonSaturn(HIDController *controller) {
// DPad setup
Expand Down Expand Up @@ -896,3 +925,38 @@ void setupNeoGeoMini(HIDController *controller) {
controller->ConfigButton(BUTTON_3, 0, 0x08);
controller->ConfigButton(BUTTON_4, 0, 0x01);
}


/**************************
* Taito GamePads
**************************/

/**
* Configures a Taito Egret II mini and Compatible devices
*
* Taito Egret Button layout
* Byte 0x01 0x02 0x04 0x08 0x10 0x20 0x40 0x80
* 0: Btn 6, Btn 3, Btn 2, Btn 5, Btn 1, NA, COIN, START
* 1: Btn 4, NA, NA, NA, NA, NA, NA, NA
* 2: LEFT(0x00)/RIGHT(0xFF)
* 3: UP(0x00)/DOWN(0xFF)
*
* @param controller The HIDController that will be configured
*/

void setupTaitoEgret2(HIDController *controller) {
// DPad setup
controller->ConfigButton(BUTTON_LEFT, 2, 0xFF, 0);
controller->ConfigButton(BUTTON_RIGHT, 2, 0xFF, 0xFF);
controller->ConfigButton(BUTTON_UP, 3, 0xFF, 0);
controller->ConfigButton(BUTTON_DOWN, 3, 0xFF, 0xFF);
// Button Setup
controller->ConfigButton(BUTTON_COIN, 0, 0x40);
controller->ConfigButton(BUTTON_START, 0, 0x80);
controller->ConfigButton(BUTTON_1, 0, 0x10);
controller->ConfigButton(BUTTON_2, 0, 0x04);
controller->ConfigButton(BUTTON_3, 0, 0x02);
controller->ConfigButton(BUTTON_4, 1, 0x01);
controller->ConfigButton(BUTTON_5, 0, 0x08);
controller->ConfigButton(BUTTON_6, 0, 0x01);
}
7 changes: 6 additions & 1 deletion RFUSB_to_DB15/drivers.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
#define VID_SEGATOYS 0x0CA3 // Sega Toys
#define VID_SHANWAN 0x2563 // Shenzhen ShanWan Technology Co., Ltd.
#define VID_SONY 0x054c // Sony
#define VID_TAITO 0x0AE4 // Taito
#define VID_UPCB 0x04D8 // Universal PCB Project


Expand Down Expand Up @@ -86,7 +87,8 @@
#define PID_SONY_PS4_JP 0x09CC // PS4 Controller JP region
#define PID_SONY_PS4_NA 0x05C4 // PS4 Controller NA region
#define PID_SONY_PS5_NA 0x0CE6 // PS5 Controller NA region
#define PID_SONY_PSC 0x0CDA // Playstation Classic Controller
#define PID_SONY_PSC 0x0CDA // Playstation Classic Controller
#define PID_TAITO_EGRET_II 0x0703 // Taito Egret II Mini Controller
#define PID_UPCB 0x1529 // Universal PCB Project


Expand Down Expand Up @@ -164,4 +166,7 @@ void setupPS4(HIDController *controller);
void setupPS5(HIDController *controller);
void setupPSC(HIDController *controller);

// Taito
void setupTaitoEgret2(HIDController *controller);

#endif //USB2DB15_DRIVERS_H