618

Ностальгическая игровая приставка своими руками

Сегодня с вами снова передача "Очумелые ручки", и сегодня мы будем баловаться эпоксидным клеем и пластиковыми опилками. А попутно создадим эмуляторную игровую приставку из мини-ПК Raspberry Pi.


В общем-то идея сделать такое у меня появилась довольно давно, но только сейчас программное обеспечение для подобных поделок пришло в более-менее приличное состояние.

Прежде я пробовал сделать такое из x86 неттопа, но штука выходила довольно громоздкая и капризная. Потом продал неттоп и купил б/у Android TV Box. Это куда компактнее и легче, но заставить эмулятор RetroArch корректно работать на Андроиде мне так и не удалось, там что ни сборка - сплошные баги.


Поэтому решено было собирать приставку на базе Raspberry Pi 3, благо уже есть готовые образы системы для этих целей, да и гибкость настройки просто шикарная.


Итак, нам понадобится:

- Raspberry Pi (подойдёт любая, я купил самую мощную, с запасом);

- Блок питания 5V 3A;

- Два USB джойстика;

- Корпус (можно использовать что угодно);

- Различные разъемы и крепеж (по вкусу);

- Клей (по вкусу, мне нравится двухкомпонентная эпоксидка).


Корпус я решил использовать от мертвой приставки, и на барахолке была найдена за пару баксов вот такая 16-битка, китайская копия SEGA Genesis 3.

Немало времени, усилий и изопропила ушло на то, чтобы смыть корявые надписи. Но так всяко лучше. К сожалению, на корпусе есть пару внушительных царапин, но пока оставил как есть.

Прикинул расположение элементов внутри корпуса. Как видите - купил блок разъёмов RCA и бесполезнейший в быту, но незаменимый для моих нужд переходник HDMI мама-папа. Он нужен, чтобы отодвинуть плату от края корпуса. А тут и приехала посылка с набором различных латунных стоек (на местном рынке они как-то нереально дорого стоят).

Срезал на пару миллиметров мягкий корпус переходника HDMI и выпилил прямоугольное отверстие в обоих половинках корпуса. Разместил стойки под плату и залил эпоксидкой, не забыв зачистить мелкой наждачкой места склейки.

Таким же манером выпилил круглые отверстия под тюльпаны и приклеил стойки. Страшновато было пилить, не так это и просто, сделать ровно.

Но всё получилось практически идеально! Я более чем доволен.

Двигаемся дальше! Вырезал кусочек макетной платы и закрепил на нём гнездо питания. Можно было бы и micro-usb вывести, но так каноничнее. Само собой, крепиться будет на такие же стойки.

Закрепил. Отлично. Куда приспособить большое круглое отверстие рядом с питанием - не придумал, изначально хотел туда вывести аналоговый сигнал, но решил, что тюльпаны универсальнее. Поэтому закрою его пластиковой заглушкой.

Подготовил плату и припаял два гнезда USB для джойстиков.

Закрепил на стойках в нужном месте корпуса. Но, само собой, разъемы по форме не совпадают с Сеговскими, и это мне очень не понравилось.

Поэтому перемычку между родными отверстиями я спилил, а внутрь вклеил выпиленную пластиковую фальшпанель. Немного не подошло по цвету, но это малозаметно.

Распаял проводами питание, USB-гнезда и аналоговые выходы. Кстати, не знаю, программная это фишка или аппаратная, но в Raspberry Pi 3 определение выхода (аналог/цифра) автоматическое, а вот в первой версии компьютера мне приходилось переключать вручную.

Время делать кнопки включения и сброса. Поскольку штатных кнопок для этих дел в Raspberry Pi не предусмотрено, а выключать, жестким образом отрубая питание, мне не хотелось, я решил подключить кнопки к контактам GPIO и прописать в автозагрузку скрипты для выключения и перезагрузки. Кнопку включения нужно вешать на строго определённые GPIO, чтобы по нажатию кнопки наша приставка не только выключалась, но и включалась. А скрипты легко найти в Интернетах.

Тут меня ждал неприятный сюрприз. Для включения/выключения нужна кнопка без фиксации, а родной выключатель в приставке был простым ползунком. Пришлось сделать возвратный механизм, а ползунок намазать силиконовой смазкой.

А вот и второй сюрприз: какой поставить выключатель? В итоге я просто вытащил из мертвого принтера переключатель с лапкой и изогнул лапку. Теперь при нажатии на ползунок лапка нажимает на переключатель. Отлично. Припаял на плату и закрепил на стойках.

Кнопочку сброса вытащил из того же принтера и закрепил на плате. Однако сама кнопка (на корпусе) упиралась в разъём кнопки питания, а он должен быть строго на 5 и 6 GPIO. Пришлось подрезать разъем. Можно было и припаять напрямую, но не хотелось.

Гнездо для картриджей закрыл сеткой, купленной на барахолке и покрашенной баллончиком в белый цвет. Пришлось изнутри подровнять корпус, но это несложно.

А тут подъехали джойстики в стиле Sega Saturn. Почему они? Потому что у них 6 кнопок и две кнопки сверху, то есть функционал без проблем покрывает NES, SNES и Sega Mega Drive. Нужно только настроить джойстик при первом включении, а потом поправить конфиги для каждого эмулятора и раскидать по папкам.


Сами джойстики по качеству на 3 из 5, сборка отличная, но невнятно нажимаются крестовины. Это я про Retrolink. Можно найти лицензионные USB джойстики Sega, но цены на них ОЧЕНЬ кусаются.


Собственно, готово! Остаётся включить, настроить джойстики и подключить Wi-Fi (понадобится клавиатура), а потом зайти через Total Commander в расшаренные папки устройства и закинуть туда любимые игры.

Вот такая картинка при подключении по RCA. Сразу напрашивается мысль сделать шрифты побольше.

А вот так вот получается, если подключить HDMI. Гораздо лучше. Но аналоговые выходы пригодятся, чтобы играть с друзьями на даче под пивко.

Оговорка: имеется небольшая задержка ввода (Input Lag), это заметил не только я, и телевизор тут ни при чем. В Интернете описаны способы снизить задержку, но это уже другая история.

И еще один неприятный минус - при подключении питания приставка включается сразу же, а не ждёт нажатия кнопки. Это я пока не придумал, как победить.

В планах еще заказать на плоттерной резке плёночные надписи на корпус.


А в остальном я доволен, да и друзья тоже.

Уголок ретрогеймера

3.9K постов13.1K подписчика

Правила сообщества

Регистрационный номер: № 5416719577

Правила сообщества:
1. Игры вне религии и политики

2. Уважайте игровые предпочтения других пользователей

3. Любые оскорбления других пользователей запрещены

4. Пустые и бессмысленные посты запрещены и кидаются в общую ленту

5. Игры, которые не относятся к категории ретро будут переносится в Лигу Геймеров или общую ленту Пикабу

6. Реклама любой продукции и сервисов без согласования запрещена

7. Любой поиск игр происходит в Лиге Потерянных Игр:
https://pikabu.ru/community/lost_games

9. Все договоренности игры по сети происходят в сообществе Онлайн ретро-игр:

https://pikabu.ru/community/ori

Вы смотрите срез комментариев. Показать все
0
Автор поста оценил этот комментарий

Всем доброго времени суток! Тоже недавно приобрел Малинку 3 версии (комплектом на али).

Вопрос знатокам. Правильно ли я понял, что она выключается путем вытаскивания вилки из розетки? Правильно ли это? Или же приведется заняться пайкой для кнопок выключения и перезагрузки?

раскрыть ветку (17)
0
Автор поста оценил этот комментарий
Она выключается  через меню или командой sudo poweroff. Чтобы сделать кнопку выключения, надо повесить её на GPIO порты и прописать в автозагрузку скрипт выключения.
раскрыть ветку (16)
0
Автор поста оценил этот комментарий

Спасибо! Я так понял в меню Рекалбокса это тоже есть.

***

http://raspberrypi.ru/img/pi3_middle.png

А для подключения тюльпанов RCA, в разъем 3.5, подойдет обычный переходник?

раскрыть ветку (15)
0
Автор поста оценил этот комментарий

Я не знаю, что значит обычный, но распайка должна быть такая, как на картинке.

Только если будете делать сами - не используйте такой штекер, как на фото, они некачественные и портят гнездо. Лучше отрезать от старой телефонной гарнитуры.

Иллюстрация к комментарию
раскрыть ветку (14)
0
Автор поста оценил этот комментарий

У меня есть кабель RСА от нокии, пробовал через него самсунг  и нокию н8 подключать - работает.  Но когда я подключаю к Расбери, изображения нет. Как можно решить проблему?

раскрыть ветку (13)
0
Автор поста оценил этот комментарий

Кабель у меня

http://eshop.facevaluemobiles.com/WebRoot/BT3/Shops/BT14432/51A6/0056/4DEE/BEAB/EB95/0A0C/05E7/A134/CA-92UVideoOutCable.JPG


Погуглил, нашел статьи, где в файле config.txt надо подшаманить, намучился, потому что флешка после установки на нее ОС, странно отображается. Кое как настроил. Единственное чего я добился это Ч\б изображение с шумами и хрипением. :( Даже не разобрал ничего.

Возможно кабель от нокии тоже не подходит, странно.......

раскрыть ветку (12)
0
Автор поста оценил этот комментарий
Надо смотреть распайку кабеля, я ж не знаю. Плюс, возможно, в кабеле от Нокии в коробочке еще какие-то дополнительные элементы есть.
раскрыть ветку (11)
0
Автор поста оценил этот комментарий

Придется покупать преобразователь HDMI на VGA (монитор у меня без HDMI) а там уже к нему VGA на RCA :(


Спасибо за ответы. И спасибо за пост, очень интересный. (мой 505 лойс вам) )

раскрыть ветку (10)
0
Автор поста оценил этот комментарий

Ваш кабель без перепайки не подойдёт, пришлось погуглить за вас. Надо поменять местами в штекере 3.5 землю и видео (первый и второй контакты)

0
Автор поста оценил этот комментарий
Подойдет от XBOX 360E, поищите на барахолке из комплекта, всё равно никто ими не пользуется.
раскрыть ветку (8)
0
Автор поста оценил этот комментарий

Спасибо. Ну как, сказать тут проблематично будет, с учетом моего места проживания. Мне придется либо покупать и самому паять, либо подбирать в магазине у частников.


Все таки вариант с HDMI-VGA-RCA пробовать надо будет. Либо просто юзать на обычном мониторе HDMI - VGA, чтобы не мучать флешку с перенастройками конфига. Или же переплатить, чтобы был конвертер уже сразу с переключением на PAL или NTSK.  :(

раскрыть ветку (7)
0
Автор поста оценил этот комментарий
Пожалуйста, не занимайтесь наркоманией. Варианта два:

1. Купить с пересылкой почтой кабель от XBOX 360E и не мучаться.

2. Купить на али квадратный белый адаптер HDMI-RCA, там и переключатель будет PAL-NTSC и по цене не дороже, чем HDMI-VGA-RCA связка, ибо это не переходники, а конвертеры и стоят не 3 копейки.

раскрыть ветку (6)
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку