Приставки > Джойстики и прочие манипуляторы
Подключение приставочных джойстиков через USB
Talking_Sword:
--- Цитата: Mad от 24 Ноябрь 2022, 12:50:00 ---Talking_Sword, это чтож, получается чисто пиратский стандарт o_0?
--- Конец цитаты ---
Ну как бы да. На сколько я знаю, они от разных приставок подходят друг к другу. Сам удивляюсь, как пираты умудрились создать свой стандарт. По крайней мере, у меня есть Simba's Mega Power II и Денди-ноутбук. С ноутбуком не было джойстиков. Подключил от Mega Power II, вроде работали. Хотя не очень помню, так как давно не включал, но запомнилось, что работало.
Хотя, может и есть какие-то редкие экземпляры со своей распайкой.
StormReaver:
Тут такая проблемка возникла. К компу присоединены Logitech F310 и Dual Shock 3 (через SCPToolkit), прикупил еще Dual Shock 4, НО по умолчанию и через DS4Windows геймпад не распознается. Ну то есть как не распознается... при подключении по USB-кабелю винда определяет его как "wireless controller" и инсталлит автоматически какие-то драйвера, но в "параметрах игровых устройств управления" отображаются только 2 других контроллера и, как следствие, его не откалибровать. Хорошо, запускаем InputMapper, он вроде как видит три пада, но у него конфликт не то с SCPtoolkit, не то с Xpadder, и в итоге в Xpadder отображаются 5 падов. При этом в InputMapper DS4 не калибруется, а в трее в правом нижнем углу то и дело выплывают неизвестные ошибки :-\
Вопрос: что с этим %$#!! можно сделать, НЕ отключая при этом Dual Shock 3 и чтоб при этом DS4 обязательно распознавался Xpadder-ом? :-\
blackoff:
--- Цитата: StormReaver от 01 Май 2023, 21:30:12 ---НО по умолчанию и через DS4Windows геймпад не распознается.
--- Конец цитаты ---
по BT тоже ?
Добавлено позже:
--- Цитата: StormReaver от 01 Май 2023, 21:30:12 ---е то с Xpadder, и в итоге в Xpadder отображаются 5 падов.
--- Конец цитаты ---
если что ,у ds4w есть своя возможность на клаву\мышь назначать ...
StormReaver:
--- Цитата: blackoff от 02 Май 2023, 01:53:32 ---по BT тоже ?
--- Конец цитаты ---
BT-адаптера у меня нет (но я заказал вчера после пары часов бесплотных попыток и может быть завтра дойдет). Так-то, если подключить по коротенькому идущему в комплекте кабелю и зажать Share+PS, то пад среагирует так, как должен (панель между L2 и R2 начнет мигать белым), но при этом он не распознается никак.
--- Цитата: blackoff от 02 Май 2023, 01:53:32 ---если что ,у ds4w есть своя возможность на клаву\мышь назначать ...
--- Конец цитаты ---
Я про что-то такое читал, но как назначить, если прога не видит никаких контроллеров вообще, и чтоб не в ущерб клавомыши?
Update. Ладно, после инсталляции драйвера SCPtoolkit (после инсталляции самого SCPtoolkit) DS4 распознался... за исключением L2/Left Trigger. Видать, брак самого пада <_<
881x113:
А что насчёт встроенного динамика в Dualshock?
Играю, сижу, играю, захожу в опции игры, смотрю на это
и думаю: а может время пришло и танцы с бубном уже могут принести положительный результат? Просто так нет, конечно, никаких звуков из геймпада :cry:
kisKO:
Всем привет из 2025! Загорелся идеей подключить джойстик денди на пк. Воспользовался для этого платой digispark на attiny85. Использовал программный USB, анализировался сигнал с джойстика, после чего с помощью sendKeyStroke выдавался код кнопки, типа нажатие клавиатуры. Однако, как я не долбался, куча проблем то с удержанием кнопки, то с одновременным нажатием, в общем, чтобы я не делал, работает оно крайне плохо и не играбельно совсем.
Может кто что посоветует, кроме готовых USB джойстиков? Может есть проверенное рабочее решение на USB, которое уже кем то проверено лично и оно точно работает?
Skay:
kisKO,
--- Цитата: Skay от 02 Июнь 2021, 19:29:25 ---Talking_Sword, я бы все же посылал на гитхаб+ютуб к Кластеру.
https://www.youtube.com/watch?v=oBAFu-Xpc2I
Там переходник для 2 сега и 2 денди
на авр https://github.com/ClusterM/nessmd2usb/tree/64d42d2cb7814a1070c774e88a9bd7026c04b6db
на стм https://github.com/ClusterM/nessmd2usbдешево только самому спаять.
а так цены примерно такие
--- Конец цитаты ---
kisKO:
Спасибо! А вот это собирал кто-нибудь? https://radioded.ru/podklyuchenie-dzhojstika-ot-8-bitnykh-pristavok-k-kompyuteru/ очень не хочется плату собирать и АТ90УСБ в продаже у нас в городе нет, тянуть резину с али не охота.
Skay:
kisKO, с программным usb была тут где то версия для nes / sega / ps1 от масяни. с исходниками. Но придется опять же из исходников выкидывать всё чтоб в тиньку влесть.
kisKO:
А может вы в курсе, что за прикол или что я не так делаю. В принципе опросить джойстик и распознать его кнопки у меня получилось, далее в зависимости от кнопки я на ПК посылаю символ с клавиатуры, настраиваю эмулятор на эти же кнопки. Однако в игре все совсем плохо, движение рывками, удержание кнопки вообще не работает и в том же марио прыжки короткие. При этом на реальной клавиатуре все в полном порядке. Если открыть блокнот и нажимать кнопки джойстика, видно что все отрабатывает хорошо, типа.... Где можно почитать про все это более подробно, именно механизм эмуляции.
Skay:
kisKO, смотри исходники у Кластера. там всё вполне простенько написано, сиподобненько. (если по делу вопросы задавать. то он в соц.сетях вполне себе отвечает)
можешь поискать статьи Рюмика) если именно почитать охота.
UPD: Нашел архив с исходниками которые тут Масяня выкладывал (сообщение не нашёл). Как я помню чтоб оно работало надо ридер карт памяти PSX отключить. Ну и в твоем случае выкинуть всё что sega/psx.
Правда хз влезет ли тут программная реализация HID в тиньку)
kisKO:
В тиньку85 лезет 8 кБ... По крайней мере сейчас реализация HID вмещается и еще вагон места остается. Прикол в том, что все типа работает, но работает абсолютно неиграбельно, уже неделю гуглю, понять чужие исходники к сожалению очень сложно, нейросети выдают дичь, а я стараюсь разобраться )
Добавлено позже:
Все, разобрался. Вот код кому надо, джой подключать напрямую к плате дигиспарк. Для денди наверное проще некуда и никакого геморроя со сборкой громадных плат. 5 проводов всего.
#include <DigiJoystick.h>
#define DATA_PIN 0 // Выход 4021 (Q7)
#define LATCH_PIN 1 // Strobe (Latch) (PIN 12 на 4021)
#define CLOCK_PIN 2 // Clock (PIN 10 на 4021)
void setup() {
pinMode(LATCH_PIN, OUTPUT);
pinMode(CLOCK_PIN, OUTPUT);
pinMode(DATA_PIN, INPUT);
digitalWrite(LATCH_PIN, HIGH);
digitalWrite(CLOCK_PIN, HIGH);
//Serial.begin(9600); // Включаем отладку
}
void loop() {
uint8_t buttons = readNESController();
// Выводим состояние кнопок в Serial Monitor
//Serial.print("Buttons: ");
// Serial.println(buttons, BIN); // Вывод состояния кнопок в двоичном формате
DigiJoystick.setButtons(buttons, 0);
DigiJoystick.update();
delay(5);
}
uint8_t readNESController() {
uint8_t state = 0;
digitalWrite(LATCH_PIN, HIGH);
delayMicroseconds(5);
digitalWrite(LATCH_PIN, LOW);
delayMicroseconds(5);
for (uint8_t i = 0; i < 8; i++) {
digitalWrite(CLOCK_PIN, LOW); // Начинаем такт
delayMicroseconds(5);
if (digitalRead(DATA_PIN)) {
state |= (1 << i); // Считываем бит
}
digitalWrite(CLOCK_PIN, HIGH); // Поднимаем такт
delayMicroseconds(5);
}
return ~state; // НЕ инвертируем, чтобы проверить, что приходит
}
Дата, латх и клок к соответствующим пинам дигиспарка, легко видно из кода. Инпут лаг на глаз не видно, ну и сойдет мне ))
Mad:
Товарищи, мастерю адаптер для подключения геймпада от Dendy к ПК. Делаю на основе Raspberry Pi Pico и аналогичного примера переходника для NES. При всё при этом использую для проверки геймпад от какого-то клона денди от Магистра. Всё собрал, прошил, должно работать, но не работает. Решил проверить распиновку и посмотреть напряжение на контактах геймпада и выяснил, что при подключении к ПК на пине 4 на картинке 0 Вольт и геймпад не работает, а при подключении к приставке 3.4 Вольта и геймпад работает. Вопрос, должны ли быть эти 3.4 Вольта на четвертом пине в целом или это особенность именно данного клона? Потому как про это напряжение в примере с NES ничего не нашел.
Rumata:
Ничего не понял. Циферки, кружочки... Сигналы где какие?
Если это то, что я думаю, то на 4 должны быть тактовые импульсы.
Mad:
Rumata,
1 - Data,
2 - Питание,
3 - Latch,
4 - Clock,
5 - Земля.
Rumata:
Ну да, импульсы. При чём не постоянно, а пакеты по 8 штук, повторяющиеся каждые 20 мс.
Какое там будет "напряжение" я без понятия, но явно не 0, так как в отсутствии импульсов там 1
Mad:
Rumata, Это дело ведь осциллографом можно посмотреть?
Rumata:
Я бы сказал - нужно.
Temon:
Ребята, хочу подключить валяющиеся там и сям геймпады от денди к комповскому USB - пусть пользу приносят. Соответственно, может кто-нибудь посоветовать либо какую схемку можно без проблем повторить (предпочтительно - на STM каком-нибудь, но в целом - плевать), либо что годного из адаптеров есть в продаже? В целом - мог бы и сам нарисовать, не велика проблема регистр читать, но тотально нет времени, блин.
Довольно давно всеми этими контроллерными приколами не занимался, когда-то делал LPTшные адаптеры и вариант проекта Масяни, но это было -дцать лет назад уже. Фиг его поймёт что сейчас актуально, и какая железка самая адекватная. Озон выдаёт какую-то дичь для мистера, которая фиг её поймёт совместима с компом или нет, выглядит как для фамика, но на деле по описанию для сеги, либо для соньки, сибо для снеса. На али поиск моросит в целом. Где это продаётся, и какие цены считать адекватными - хз.
Блин, раньше ведь этих всяких адаптеров было как грязи...
Skay:
Temon, Кластер когда то на гите обновил свою версию с атмеги на стм https://github.com/ClusterM/nessmd2usb
Навигация
Перейти к полной версии