RetrOrangePI 4.1 - вторая попытка

2018-05-07

На картинке мегадевайс. Это клавиатура от аутентичного ZX, подключенная к ARCAdaptor. А вся конструкция, в свою очередь, прицеплена к Orange Pi Lite через USB. Вон, видите, антеннка торчит :)

Нет, я пока не окончательно поехал головой (хотя уже близок к этому состоянию). Всегда хотелось иметь дома игровой автомат — настоящий, аркадный, со стиками и огромными кнопками. Но прошлое меня с ним связывает не настолько, чтобы пилить дома МДФ и делать самопальные bezel’ы с подсветкой.

Другое дело ZX, которому я посвятил довольно большое количество времени, денег и сил. Свою коллекцию я уже давно продал за неплохие деньги, а вот из остатков и неликвидов решил сделать вот такую конструкцию.

На Orange Pi Lite крутится RetrOrangePi 4.1. В плату (USB) воткнут ARCAdaptor с подключенной клавиатурой и соответствующей прошивкой. Тактильные ощущения во время игры “те самые” — никаких лагов, механические кнопки от калькулятора, разве что нельзя нажать все 40 кнопок одновременно. PC-клавиатура имеет буфер до 4х или 5ти нажатий. Вполне хватит для задрачивания в Exolon или Target: Renegade.

На настоящем “спектруме” в одной из игр для активации чит-кода нужно было нажать все сорок кнопок. У меня столько пальцев нет.

Сама клавиатура — вполне обычное USB HID устройство, правда всякие CAPS SHIFT/SYMBOL SHIFT смапированны на shift и alt, чтобы эмулятор типа Fuse воспринимал всё и сразу. И да, я одно время торговал такими поделиями.

Ну ладно, это была просто ностальгическая нотка, вернемся с RetrOrangePi за версией 4.1. Я уже писал о выходе этой версии, однако на момент первого тестирования что-то не зашло — то bootscreen не читался, то настройки джойстика сбрасывались, короче всё было чертовски сырым. Прошло полгода(?), номер версии не изменился, однако, авторы внесли кучу изменений.

Вот, навскидку:

  • Появились образы для OrangePi Zero отдельно для PAL и отдельно для NTSC. Различаются настройками overscan. И, кстати для для них карточку нужно ресайзить руками (точнее, запустив скрипт вручную)
  • Переход на Debian и более новое ядро.
  • БОльшее количество эмуляторов.
  • Он теперь скорее работает, чем нет (по крайней мере, руки уже не опускаются).

Что вылезло в процессе прогона:

  • Описанный баг с “розовым экраном” имеет место быть. Это какой-то косяк определения режима HDMI. Проявляется так — на экране “пастельный тон” и ничего не происходит, однако индикаторы горят и вообще всё прилично. Лечить так — отключить питание, отключить HDMI. Перевести телек в режим HDMI, подключить шнур HDMI, подать питание. Т.е. на момент подачи питания штекер должен быть воткнут и телек уже должен “слушать” HDMI вход.
  • Пропадают игры. Это какая-то инфернальная проблема samba (когда вы закидываете образы по сети) и microSD. Самый надежный способ — после копирования в командной строке сказать sync. Это касается “толстых” образов типа Dreamcast и Sony.
  • Эмуляторы, основанные на libretro определяют джойстик через 30…60 секунд после старта. Более подробно — тут. Авторы утверждают, что это из-за нехватки быстродействия и перегрузки по питанию. Вполне может быть… Рецепты есть разные. Простой — переткнуть джойстик. Сложный — пересобрать всё из исходников (есть там же в форуме).

По эмуляторам вряд ли много напишу — всякие денди, сеги и супернинтенды, ясное дело, работают.
С Dreamcast — нужно в файле автоконфига менять “1” на “0” (тут описание).

С проклятым спектрумом не всё так просто. Во-первых клавиатура сразу не доступна, то есть выполнить простые действия типа выбора управления тупо не получится. Тут есть одна хитрость — когда джойстик все-таки определится нужно выйти в меню настроек, выставить у игроков 1 и 2 тип управления none, а у третьего — Sinclair Keyboard. Тогда всё внезапно включится. Пруфлинк

Ага, вообще не очевидно, и более того – я не очень понимаю, как выкрутить эти значения “по умолчанию”. И да, для выхода в меню нужен джойстик.

Заработали “шейдеры”. Но вот только они жутко тормозят систему. То есть было желание включить “сканлайны” через эти самые шейдеры. Сканлайны, конечно, включились без вопросов, однако демки стало смотреть тупо невозможно. Этот вопрос надо будет конечно поизучать, возможно нужны какие-то ещё настройки.

KODI не пробовал, DOSBox тоже. Из “портов” из коробки заработал Wolfenstein 3D (до этого не работал нормально).

Появился “режим сна”. Довольно прикольное решение — устройство уходит в глубокое энергосбережение и пробудить (в моем случае) её можно только кнопочкой на самой плате. Это хороший вариант, ибо владельцы той же Raspberry утверждают, что когда устройство в режиме Idle — потребляет электроэнергии оно где-то доллара на 4 в год (то есть в пределах статистической погрешности). Зато пробуждение довольно быстрое.

Ну, что можно сказать по результатам. Прогресс, по сравнению с предыдущей попыткой есть и не малый. Главное — не экономить на питальнике и microSD. Ну и радиатор прилепить.

512 Мб на Orange Pi Lite вроде как позволяют запустить даже Dreamcast. Ну вроде нормально, хотя для лучших результатов хорошо бы использовать что-нибудь с гигом (Orange Pi PC).

И нет, версии для Orange Pi PC2 нет. И не будет в обозримом будущем, хотя Mali для 4го ядра не за горами.


В массы

В трубу