Приветствую Пикабу и любителей ретрогейминга/эмуляции! Пару лет назад я выложил пост Игровая приставка своими руками. Пост многим понравился и собрал немного плюсцов. Плюсы это конечно хорошо, но если кому-то с этого есть польза - еще лучше. Штош, предлагаю вашему вниманию вторую часть - здесь будет меньше колхоза, никаких паяльников и прочего непотребства. Повторить сей проект сможет любой желающий.
PiStation, которую я собрал, давно нашла покупателя, а я пересел на оригинальные mini реплики от Nintendo и Sony (обе приобретались по распродажам, а не по стартовому ценнику). В этом году Sega запускает свою mini консоль - Megadrive/Genesis mini. Так как именно эта консоль была у меня первой (как и у многих), к ней у меня был повышенный интерес с момента анонса. Если кто-то пропустил эту новость, то вот здесь можно ознакомиться.
Однако, как можно понять из названия поста, покупать я ее не буду, и на это есть две основные причины:
1 - Стартовая цена немного завышена - обещают около 6к рублей
2 - В комплекте поставляются 3х кнопочные геймпады, а производитель предлагает покупать 6 кнопочные версии у Retro Bit.
Если с первым пунктом можно смириться, то со вторым совсем не хочется. Хотя в японскую версию кладут 6 кнопочные пады, но для этого придется заморочиться и поискать на ebay. Там уже доступны предзаказы за 8-10 килорублей.
Короче - слишком дорого и ни к чему, было решено все сделать своими руками.
В прошлый раз было сложнее и более затратно по времени из-за поиска корпуса для приставки, покраски, пайки и напильника. Сейчас все немного иначе.
Мировое сообщество ретрогеймеров-рукоблудов породило волну с самодельными приставками и аркадными автоматами, и некоторые производители на этой самой волне стали выпускать различные аддоны и аксессуары для Raspberry Pi.
Было решено заказать на всем известном сайте корпус для малины Mega pi и 6 кнопочный геймпад от Retroflag. Сама малина у меня уже была, поэтому расходы составили 2100 Р.
Для питания решил использовать оригинальное зарядное устройство от Meizu с поддержкой быстрой зарядки + оригинальный кабель от нее же.
Вообще, чтобы обеспечить малине необходимое питание, 2.5 ампер может быть не достаточно.
Опытным путем было выявлено, что она капризная в первую очередь к вольтажу, и уже потом к амперам. Даже в спецификации оригинального блока питания указано - 5.2V 2.5A.
Ноунейм зарядные устройства, сколько бы ампер они не выдавали, только в простое выдают 5.1V, при потреблении более 1А на большинстве из оных наблюдается просадка напряжения ниже 5в, что и приводит к появлению молнии на экране. Если же подключить оригинальное ЗУ от iPhone на 1 ампер, например, то молнии не будет, если конечно к малине не подключено куча всякой периферии.
По поводу питания не претендую на истину, описываю лишь свой опыт.
Далее встал вопрос в том, как настроить RetroPie так, чтобы было красивое и лаконичное меню с возможностью выбора только игр Sega (для тех кто не в теме - это мультисистемный комбайн, и для Onesystem проектов он не очень подходит). В общем, спустя какое-то время, я нарисовал нечто подобное:
Пробовал рисовать тему с включением других систем в пиксель арт стиле. Если что, она доступна для скачивания.
Вроде бы ничего, но меня огорчал очень скромный набор функций и возможностей при верстке тем оформления, и я начал копать дальше - и нашел кое-что интересное.
Blast16 - интерфейс, изначально созданный для Sega Genesis/Mega Drive mini. Умеет запускать Megadrive\Genesis, 32X, SegaCD, Game Gear и Master System игры.
Со слов разработчика, он не успел сдать работу вовремя, поэтому решил не хоронить проект, а продолжить разработку под Raspberry Pi.
Простой и быстрый UI, быстрая загрузка (10-15 сек), возможность смены языка, встроенные сценарии резервного копирования/восстановления для упрощения добавления игр и все необходимые настройки доступные прямо в графическом интерфейсе - лучше не придумаешь.
Процесс установки и первоначальной настройки занимает не более 15 минут. Самое затратное по времени, как всегда, собрать коллекцию игр и обложек к ним. Во время использования не появляется ощущения Open Source проекта, все выглядит, мигает и перелистывается так, будто это и есть Sega mini, только из параллельной вселенной. Ощущения на голову выше в сравнении с RetroPie, в котором нужно много чего править консольными командами.
Опережая некоторые комментарии - инпут лаг по любому присутствует, но я из той категории людей, которые его не ощущают. Кроме того, Blast16 включает в себя последнюю версию Retroarch, в которой добавлены новые функции, в частности runahead - устранение инпут лага. Подробнее об этом можно почитать здесь.
Но вернемся к нашим баранам. На тот момент, когда я обнаружил проект, русского языка в нем не было, и я предложил автору помощь с переводом. Сейчас на сайте доступна новая версия, с уже встроенным переводом на русский язык.
В процессе тестирования перевода я обнаружил, что проект написан на Lua, я немного знаю Html и CSS, и до любого ЯП мне далеко. Но все равно я решил попробовать поиграть со шрифтами, и тут понеслось...
Получился гибрид Blast16 и Sega mini. Почти все изображения приходилось рисовать с нуля ориентируясь по видео обзорам. Так-же я изменил некоторый функционал, а что-то вовсе вырезал, что по моему мнению показалось лишним.
Разумеется, я предупредил об этом автора, на что он дал добро, но попросил не распространяться о способе взлома (хотя там и взламывать нечего), однако Ui hack он оценил.
Мне настолько понравился этот проект, что я решил адаптировать сайт и инструкцию на русский язык, опять же с согласия автора, поэтому если кто решится повторить его - пользуйтесь! За возможные опечатки прошу сильно не ругать, мне никогда не удавалось работать с большим объёмом текста.
> Официальный сайт
> Сайт на русском
Ну вот вроде бы и все. Данный пост является моим личным мнением и видением сложившейся ситуации. Я ни в коем случае не пытаюсь кого-то отговорить от покупки Sega mini, просто делюсь альтернативным методом.
PS - Для любителей пасхалок - их там есть!
PPS - Если кто знает, как реализовать в Lua (фреймворк LÖVE) обводку для текста, буду признателен за советы.