From 18dfa549830703809884dfb13d705b8ad1d4f294 Mon Sep 17 00:00:00 2001 From: Dylan Enloe Date: Tue, 5 Dec 2023 00:52:20 -0800 Subject: [PATCH 1/4] Add Taito Egret II Mini Controller Add Taito VID Add Taito Egret II PID Add Driver for Taito Egret II Add Missing Deamon Comments --- RFUSB_to_DB15/drivers.cpp | 76 +++++++++++++++++++++++++++++++++++---- RFUSB_to_DB15/drivers.h | 7 +++- 2 files changed, 76 insertions(+), 7 deletions(-) diff --git a/RFUSB_to_DB15/drivers.cpp b/RFUSB_to_DB15/drivers.cpp index 4f527c0..c92e619 100755 --- a/RFUSB_to_DB15/drivers.cpp +++ b/RFUSB_to_DB15/drivers.cpp @@ -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; @@ -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 */ @@ -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); @@ -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 @@ -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(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); +} diff --git a/RFUSB_to_DB15/drivers.h b/RFUSB_to_DB15/drivers.h index 06f9565..659fd4c 100755 --- a/RFUSB_to_DB15/drivers.h +++ b/RFUSB_to_DB15/drivers.h @@ -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 @@ -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 @@ -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 From 900fa33f94d94f4e98ecb2182e21184779eba671 Mon Sep 17 00:00:00 2001 From: Dylan Enloe Date: Tue, 5 Dec 2023 00:57:29 -0800 Subject: [PATCH 2/4] Update change log Update Change Log and Compatibility with Egret II --- CHANGELOG.md | 4 ++++ COMPATIBILITY.md | 3 +++ 2 files changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 66378dc..2d2e0a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/COMPATIBILITY.md b/COMPATIBILITY.md index ee1d8d5..c3a7062 100644 --- a/COMPATIBILITY.md +++ b/COMPATIBILITY.md @@ -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 From fc2919e7ee0636ebd14a7441326a6c92d915c9ad Mon Sep 17 00:00:00 2001 From: Dylan Enloe Date: Tue, 5 Dec 2023 01:28:40 -0800 Subject: [PATCH 3/4] Fix Typo --- RFUSB_to_DB15/drivers.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RFUSB_to_DB15/drivers.cpp b/RFUSB_to_DB15/drivers.cpp index c92e619..a71c02c 100755 --- a/RFUSB_to_DB15/drivers.cpp +++ b/RFUSB_to_DB15/drivers.cpp @@ -944,7 +944,7 @@ void setupNeoGeoMini(HIDController *controller) { * @param controller The HIDController that will be configured */ -void setupTaitoEgret2(controller) { +void setupTaitoEgret2(HIDController *controller) { // DPad setup controller->ConfigButton(BUTTON_LEFT, 2, 0xFF, 0); controller->ConfigButton(BUTTON_RIGHT, 2, 0xFF, 0xFF); From 4e047310f61600a4f209ba2efe51c6a25fc121f9 Mon Sep 17 00:00:00 2001 From: Dylan Enloe Date: Tue, 5 Dec 2023 01:31:43 -0800 Subject: [PATCH 4/4] Fix Whitespace --- RFUSB_to_DB15/drivers.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RFUSB_to_DB15/drivers.h b/RFUSB_to_DB15/drivers.h index 659fd4c..81563cd 100755 --- a/RFUSB_to_DB15/drivers.h +++ b/RFUSB_to_DB15/drivers.h @@ -87,7 +87,7 @@ #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