...

вторник, 22 июля 2014 г.

Эмуляция NES/Sega/etc в кармане: Обзор/настройка EXEQ Ray 2 (JXD S5110b) — прошивка, софт, управление

imageВ этой статье я расскажу о своем опыте в эксплуатации и настройке игровой консоли на android "EXEQ Ray 2" (близнец JXD S5110b). При чем рассказывать я буду не о том, как она работает в качестве андроид-девайса, а исключительно в качестве эмулятора старых игровых консолей — Sega, NES (денди), SNES, DS, и т.п. Ведь именно в качестве портативного эмулятора я ее и покупал.

Быстро пробежимся по скучным техническим характеристикам:



  • Габариты: 195х87х17 мм, 232 г

  • Android 4.1.1 с root-правами «из коробки»

  • Экран 5'', глянцевый, TN, 800x480, эмкостной тач на 5 касаний

  • 8 Gb памяти + microSD

  • 2-ядерный 1.5 GHz CPU

  • Wi-Fi, mini-HDMI, акселерометр, камера 0.3 MPx

  • Два аналоговых стика, два бампера (шифта), D-Pad, 4 кнопки, start, select

  • Аккумулятор: Li-Ion 2200 mAh (3 часа игры)

  • Стоимость: ~4200 руб.




В видеоролике ниже я покрутил приставку в руках, немного рассказал о ней и показал, как она работает:


Для всех, кто заинтересовался, далее я расскажу о всех проблемах, с которыми я столкнулся и расскажу, как их решал.



Выбор, и общие впечатления.




Если кто-то следит за моими статьями, то он знает, что я неравнодушен к старым играм. И вот, у меня появилось непреодолимое желание поиграть в те же дендивские или сеговские хиты на чем-то осязаемом и железном. Надо, кстати, сказать, что в детстве у меня был только ZX Spectrum и в приставки я играл только немного, у друзей. Так что заодно захотелось наверстать упущенное.

Я, конечно, восторгаюсь коллекцией картриджей и консолей у Pixel Devil'a, но пораскинув мозгами понял, что этот вариант мне не подходит по многим причинам. Все эти приставки просто так не подключить к монитору, картриджи надо где-то доставать (или же возиться с hardware-эмуляторами картриджей). В общем, я не готов на эту возню.


Именно по этому я и решил посмотреть на рынок портативных эмуляторов и в частности на линейку EXEQ. Моделей у них довольно много, но долго над выбором я не думал. Отталкивался от экрана. Решил, что 7'' — это уже многовато (приставка уже становится не такой портативной) и выбрал модель с 5'' экраном, на всякий случай с 2-ядерным CPU (почему бы не взять, если стоит столько же, сколько 1-ядерный) и без 3G, т.к. мне оно не нужно.


Еще раз отмечу — я рассматриваю данный девайс исключительно как платформу для эмуляторов. Немного более навороченный и гибкий аналог Dingoo A320. Да, на девайсе есть Android Play Market и можно поставить андроид-игрушки. И даже есть встроенный маппер, позволяющий назначить хардварные кнопки на касание экрана. Но лично мне это не интересно.


Да, можно было взять близнеца из Китая JXD S5110b за $100 или даже меньше. Но ждать месяц доставки и рисковать с «украдут на почте» ради экономии в 1000 рублей я не стал.


Итак, давайте, наконец, о первых впечатлениях.


Экран.



Сразу скажу: экран плохой. Разрешение низкое, цветопередача отдает дешевой синевой, на улице все сразу становится слаборазличимым. Но с другой стороны, что вы хотели от приставки за 4000 руб?

Фото для сравнения цветопередачи экрана iPad 2 и EXEQ Ray 2:



Разрешение тоже не слишком высокое. Скажете, зачем разрешение, если оно все равно выше, чем у приставок? Тут дело такое — чем выше разрешение экрана, тем меньше мыла вы увидите при интерполяции картинки приставки до вашего разрешения. В данном же случае частенько приходится выбирать между мыльной картинкой с линейной интерполяцией или битым пикселем при отключенной интерполяции.


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


Выход HDMI не тестировал, т.к. дома не нашлось переходника mini-HDMI -> HDMI. Но судя по отзывам, все работает отлично и до 1080p.


Органы управления.



Здесь мне все понравилось. Да, кнопки немного гремят, но это не страшно. Нажатие четкое. Крестовина D-Pad выполнена единым элементом, а не отдельными 4-мя кнопками и управляется очень четко, без ложных нажатий (ни в какое сравнение с крестовиной геймпада XBOX 360, например).

Кнопок под правую руку — 4. (Почему-то по дефолту перепутаны A/B и X/Y, но это фиксится, см. ниже). Жаль, кстати, что не 6. В результате, в некоторых играх для Sega Mega Drive приходится изгаляться биндя две кнопки на верхние бамперы.


Два аналоговых стика. Особо не пользовался, но работают.


Кнопки Start / Select — отлично. Сверху есть кнопка «reset», которую можно нажать ногтем (что в случае с Андроидом может быть полезно). Что жалко — это что не нашлось места под хардварные кнопки «домой» и «назад» и в результате приходится иногда вызывать нижнюю панель андроида.


Корпус, звук, аккумулятор.



Корпус немного «погремушный», но в целом — ок. Не вызывает отвращения и даже рамочка под металл смотрится неплохо. Правда, очень сильно греется. Особенно когда заряжается одновременно с работой (кстати, в таком режиме у меня все равно тратилось немного больше, чем заражалось по USB).

Аккумулятор садится довольно быстро. Его хватит на около 3 часов игры.


Звук… Он есть. Кстати, несмотря на то, что сзади 2 группы отверстий, внутри — один динамик (справа). Да, и зачем-то у консоли 2 выхода под наушники.


В общем, звезд с неба не хватает, но и отвращения не вызывает. Все хорошо.


Софт.




Давайте, наконец, поговорим о софте.

Приставка поставляется с прошивкой от EXEQ и с пачкой предустановленных эмуляторов и игр. Все они собраны в едином приложении «Game Center X», которое выглядит вот так (сорри за качество картинки, фото не мое):



Сама идея — удобная. У тебя есть единый центр, где собраны все ROMы, которые ты запускаешь из 1 места. А дальше эмулятор уже сам подхватывает выбранный образ и запускает игру.


Проблема только в том, что предустановленные эмуляторы крайне ограниченны в настройках. Они все растягивают картинку на full screen при этом безбожно ее сплюскивая (я никогда не понимал людей, которые растягивают сигнал 4:3 на свой широкоформатный телек и потом любуются на приплюснутые рожи). С настройкой органов управления тоже не фонтан…


В общем, захотелось мне повторить тот же опыт, но на более качественных и настраиваемых эмуляторах.


Сначала попробовал мульти-платформенный эмулятор RetroArch. Сам эмулятор все хвалят, да и настроек там навалом… Но мне не понравилось.


Во-первых, оформление библиотеки ромов не слишком удобно. Даже с поставленным VektorGUI, призванным как раз структуризовать это дело, оно выглядит примерно так:


image

Да и с самим эмулятором у меня были проблемы. То отваливалось управление, то эмулятор стартовал не выбранный РОМ, а ту игру, которая была в памяти до этого… В общем, пошел я искать варианты дальше.


Второй вариант, который я нашел (и на котором пока остановился) — это Gamesome Frontend (кстати, вот только сейчас, постя ссылку на него на Хабр, обратил внимание на слово «vektor» в названии бандла! оказывается, это — тот же автор)


image

Сами эмуляторы в него не входят, но можно подключить и настроить внешние. Все так же отсортировано по платформам, все настраивается. Кстати, у меня с этим фронтендом была проблема. После старта у меня был чистый экран и не хотели отображаться платформы. Ставил я его 2 раза (второй раз после перепрошивки) и оба раза была такая ерунда. Как побороть — не знаю. Я просто включал-отключал платформы, подключал эмуляторы, настраивал пути, перезапускал приложение… И в очередной раз оно отобразило список платформ и заработало.


И вот здесь мы подходим к тому, почему я перепрошил консоль…


Перепрошивка.




Моим единственным желанием было чтобы оно просто работало. Но ведь вы понимаете, что с андроидом все так просто не бывает? :)

Как я уже упоминал выше, изначально клавиши A/B и X/Y перепутаны местами. Самый просто вариант — это перебиндить их в эмуляторе как надо. Но это не решает некоторых проблем. Например, в системе «B» работает как «назад». И эта «B» на месте «A» во всех эмуляторах. Т.е. сделав привычную нижнюю кнопку кнопкой подтверждения (А) в эмуляторе, она все равно останется кнопкой «назад» в системе. Это разрывает мозг.


Но это — не было причиной перепрошивки (да и для фикса этого поведения перепрошивка не нужна, ниже расскажу, как).


А причиной явилось вот что. У нас на консоли есть правый аналоговый стик. Который не используется в играх. И чтобы он не «пропадал», мне захотелось на него повесить такие функции, как выход в меню эмулятора или перемотку времени, например. А если вы хотите играть с сохранениями, то можете захотеть повесить на него, например, quick save/load. И тут я столкнулся с главной проблемой. В оригинальной прошивке от EXEQ (даже самой последней), всеми сторонними приложениями (эмуляторами) правый стик воспринимается как аналог крестовины (D-Pad). И ничего с этим не сделать.


И именно по этому я решил перешиться.


Сначала я попробовал кастомную прошивку Skelrom. Но поставив ее сверху на родную EXEQ, обрел кучу проблем. Сразу отвалилась почти вся внутренняя память и андроиду стало не хватать места даже чтобы запустить часы. Возможно, это как-то можно было бы решить, но я решил попробовать поставить прошивку от китайского близнеца JXD. Да и отзывы о Skelrom на 4pda были не лучшими. У людей что-то постоянно глючило.


Прошивка от JXD s5110b встала как родная! (Сам процесс перепрошивки предельно простой — скачиваете архив, распаковываете его на microSD и включаете приставку удерживая кнопку увеличения громкости. Дальше все само).


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


Решение проблем.




Теперь я перечислю те проблемы, которые остались, и как я их решал.
Перепутанные кнопки A-B и X-Y



Эта проблема осталась и в прошивке от JXD. Решается довольно просто. Вам нужно отредактировать один системный файл /system/usr/keylayout/Generic.kl. Я не слишком силен в Андроиде и вариантах решения этой задачи, но лично я для этого поставил бесплатный SHH-сервер Rooted SSH/SFTP Daemon и подключился к своему андроиду с ПК по SFTP, где уже мог скачивать / заливать файлы на девайс.

Итак, в этом файле нас будут интересовать бинды клавиш BUTTON_A, BUTTON_B, BUTTON_X и BUTTON_Y. Каждой из них сопоставлены цифровые скан-коды 304...308. Если вам интересно узнать, какие коды посылают клавиши, вы можете воспользоваться бесплатным приложением KeyEvent Display, либо же моей картинкой:



Если же вам нужно готовое решение, то вот оно:



key 304 BUTTON_B
key 305 BUTTON_A
key 306 BUTTON_C
key 307 BUTTON_Y
key 308 BUTTON_X
key 309 BUTTON_Z


Правите соответствующий кусок файла, заливаете его назад (кстати, у меня почему-то не работала переливка через SFTP и пришлось стереть и залить файл заново. если будете делать так, не забудьте потом выставить ему права на read).


Кнопки «START», «A» и «B» работает в системе как «домой».



Очевидно, это неправильно.

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


Для этого служит другой системный файлик, /system/usr/keychars/Generic.kcm. В нем вы можете настроить действия железных кнопок как хотите. Я сделал так:



key BUTTON_A {
base: fallback ENTER
}

key BUTTON_B {
base: fallback BACK
}

....

key BUTTON_START {
base: fallback ENTER
}

key BUTTON_SELECT {
base: fallback MENU
}


Кнопки «A» и «SELECT» работают как подтверждение, а кнопка «B» как «назад». Теперь в том же Gamesome можно ползать туда-сюда между категориями не прикасаясь к экрану.


Расход аккумулятора в режиме сна.



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

На форумах советуют CPU Adjuster, где необходимо создать профиль на событие «экран выключен» и выставить в нем все по-минимуму. Мне он не понравился — как-то он кривой и неудобный. Да и несмотря на профили, с ним у меня начали тормозить эмуляторы. Так что я поставил CPU Tuner. Также советую настраивая подобные программы, не давать им понижать скорость процессора если он занят хотя бы на 20%. По моему опыту, эмулятор Сеги жрет около 25% CPU. Но если «умный» тюнер будет пытаться дропать частоту, то велика вероятность нарваться на неприятные микро-фризы.


...



На этом пока с проблемами (надеюсь) все…

Summary рецептов.




Итак, купив приставку, я советую сделать следующее:


  1. Скачать последнюю прошивку от JXD S5110b (именно «b»!) и прошиться (распаковать ее на microSD, запустить девайс с зажатой «VOL+»).

  2. Исправить путаницу с кнопками A/B и X/Y, а также системный биндинг кнопок «B» и «Start» (см. выше).

  3. Поставить CPU Tuner и настроить профиль для выключенного экрана для предотвращения утечки батарейки в режиме сна.

  4. Поставить Gamesome Frontend

  5. Поставить эмуляторы. Мой выбор: NES.EMU, Snes9xEX+, GBA.EMU, MD.EMU

  6. Для launcher'а я остановился на Apex Launcher


Резюме.




У консоли два основных минуса:

1. Дешевый экран. Хотелось бы побольше разрешение, получше цветопередачу и поярче.

2. Аккумулятор на 3 часа игр. Энтузиасты, кстати, уже перепаивают на более емкие варианты.

(3). Мелочь — отсутствие хардварных кнопок «назад» и «домой»

При этом много плюсов:

1. Хорошая цена (4000 руб за официальную EXEQ и 3000 руб за JXD)

2. Удобный форм-фактор

3. Хорошие кнопки, два стика

4. Быстродействия почти хватает на плавную игру в NES/SNES/Sega/GBA. К сожалению, все равно время от времени бывыют подтормаживания даже на Сеговском эмуле (на Super Nintendo — тем более). Не критично, но немного обидно. Немного притормаживает на Nintendo DS, но я особо не гонял этот вариант.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий