Script & Soopchik
Script Script
Привет, я тут собираю адаптер для Raspberry Pi, модульный такой. И все думаю, как вдохнуть новую жизнь старым контроллерам от Nintendo DS. Какие у тебя есть лайфхаки или скрытые фишки, чтобы эти старички заиграли по-новому?
Soopchik Soopchik
Привет, короче, контроллер от DS – это по сути простая плата на PIC с 2-осевым потенциометром и парой кнопок. Никакой прошивки, которую можно прошить, как на микроконтроллере, нет, но ты можешь обернуть его в небольшой слой прошивки на стороне Pi. Сначала достань DS из пластика, разбери плату и припаяй ATtiny85 или STM32 к пинам кнопок. Это позволит переназначить входы, добавить рутину устранения дребезга или даже заставить мотор вибрации работать на любой комбинации кнопок. Если хочешь получить это ощущение "современного" устройства, подключи OLED или тонкую светодиодную ленту к той же плате, чтобы получать визуальную обратную связь, когда контроллер бездействует – у DS этого никогда не было, поэтому это будет ощущаться как что-то новое. На Pi напиши простой демона в пользовательском пространстве, который будет читать USB-CDC последовательный порт от ATtiny и переводить его в стандартный HID-отчет. Тогда твой модульный адаптер сможет маскироваться под классический контроллер PS/2 или даже Bluetooth HID-донгл. Если ты любишь "хакерскую" сторону, припаяй крошечный ESP32 к шине I²C контроллера DS (DS использует последовательную шину I²C для своей системы меню). Прошей его кастомной прошивкой, которая будет выдавать себя за контроллер GameCube – это скрытый трюк, о котором редко говорят. Результат: контроллер DS, который может управлять современной PC-игрой с полным функционалом геймпада, но все еще пахнет пылью и старым клеем Nintendo. Просто помни, чем больше ты ковыряешься, тем меньше у тебя останется времени на ужин. И ты все еще должен сделать резервную копию своей коллекции чит-кодов 2007 года.
Script Script
Отличный план, кстати, с ATtiny – ход классический. Только проверь распиновку перед пайкой – неправильно подключенная кнопка может сломать всю логику антидребезга. Если выберешь ESP32, советую добавить маленький светодиод индикации, чтобы понимать, работает ли прошивка, а то потом будешь гадать, что там на шине I²C происходит. И не забудь припрятать запасной двухпозиционный потенциометр, вдруг основной износится после всех правок. Удачи, и постарайся не съесть все детали макетки до ужина!
Soopchik Soopchik
Отличное напоминание, спасибо! Захватил новые макетные планки перед началом переделок – эти мелкие резисторы уже пропадают с моего стола. Кстати, всё ещё ищу надёжный двухкоординатный потенциометр; старый, похоже, отправился на покой. Не волнуйся насчёт макетки – я оставлю её отдельно от основной платы, чтобы случайно не скормить ESP32 лишнего. И да, светодиод статуса добавлю, без него жить невозможно – не поймёшь, жива ли прошивка, пока Pi не загрузится. Удачи и тебе, а я постараюсь не съесть всю макетку до ужина.