Около двух лет назад я купил на интернет-барахолке развлекательно-игровой телефон Kechaoda K110. На первый взгляд ничего необычного, в телефоне была предустановлена мультиигровая система с более чем 80 играми, но мне захотелось чего-то большего и я начал модифицировать прошивку устройства в шестнадцатеричном редакторе, как будто имел штатный ПЗУ... Но вот что я нашел... Разобрав аппарат, я был в шоке и в восторге от китайских инженеров. Интересно узнать, как китайцы создали уникальный двухпроцессорный телефон за 2000 рублей? Тогда я его отрежу и буду ждать тебя!
❯ Предисловие
Поскольку сегодняшняя статья об очень редком представителе мобильной игровой консоли, прежде чем собственно обзор устройства, предлагаю рассмотреть предысторию появления мобильных игр.
Мобильные игры уже давно прочно вошли в нашу повседневную жизнь. Игры на мобильных телефонах начались в начале 2000-х годов, когда ресурсов мобильных телефонов было достаточно не только для работы в сетях GSM, но и для запуска множества приложений. За место соперничают три программные платформы:
-
Первой платформой была Java, а именно J2ME, которая обеспечивала относительно единый способ разработки приложений для различных телефонов и коммуникаторов. Входной барьер для J2ME довольно низок, а производительность довольно высока, отчасти потому, что большинство коммерческих Java-машин поддерживают JIT, а ARM даже представила набор команд для ускорения байт-кода JVM! Пользователи любят Java главным образом за ее масштабируемость и крутейшие возможности: например, программный растеризатор 3D-графики, способный выдавать очень хорошую графику на кнопочных телефонах с процессорами всего на 100-200 МГц:
Одна из легендарных Java-игр: Galaxy on Fire 2. В этом мобильнике собрана полноценная космическая RPG со своим сюжетом и транзакциями! -
Вторая платформа, называемая Mophun, менее распространена, но считается прямым конкурентом J2ME. Игры Mophun написаны на диалекте C, который интерпретируется как J2ME, но JIT в нем нет (насколько мне известно). В основном приложения Mophun поддерживались на телефонах Sony Ericsson, а позже и на смартфонах с Symbian, в отличие от J2ME, они были больше для игр, чем для приложений.
-
Третья платформа называется Qualcomm Brew. В странах СНГ это редкость, поскольку приложения распространяются через сети операторов и стоят денег. Программы можно пиратить только на взломанных устройствах, что встречается редко. Основное различие между Brew и другими платформами заключается в том, что приложения написаны на обычном языке C и, следовательно, представляют собой обычные двоичные файлы, совместимые только с устройствами на чипсетах Qualcomm.
В 2002 году основными портативными игровыми консолями были GameBoy Color и GameBoy Advance. Компания Nokia, которая недавно выпустила свой первый смартфон на базе Symbian, Nokia 7650, понимает, что на базе платформы смартфона можно создать собственную игровую консоль — даже более мощную, чем консоль Nintendo! Изначально была предложена концепция N-Gage, а в марте 2003 года был выпущен первый мобильный телефон подобной формы — 3300. Несмотря на то, что 3300 является телефоном S40 и больше ориентирован на функциональность мультипамяти, он может это сделать. Тем не менее, в целом он известен как один из первых игровых телефонов.
В октябре того же года был представлен N-Gage — легендарный смартфон, который из-за некоторых инженерных особенностей на момент выхода не получил широкого распространения среди пользователей, но со временем начал цениться людьми, которые любили играть игры. Спасибо портированию таких шедевров, как «Sonic N» и «Tomb Raider» на PS1, а также инди-игр, таких как «Asphalt 2.
N-Gage оказался не очень успешным в финансовом отношении, поэтому многие производители (за исключением локальных рынков азиатских стран) отложили идею разработки игровых телефонов… кроме китайцев! Они создали все: клоны N-Gage, красивые игровые телефоны, игровые iPhone, телефоны PSP… и эти телефоны действительно появились на рынке! Ну, разве они не гении?
Что общего у этих телефонов, так это то, что все они оснащены хорошим эмулятором, а иногда и Java-машиной, что означает, что их можно рассматривать как игры.
Теперь эти китайские производители экспериментируют и выводят на рынок консоли-эмуляторы на базе Linux, а также несколько игровых телефонов с настоящими физическими кнопками. Два года назад, просматривая интернет-барахолку, я увидел рекламу развлекательно-игрового телефона Kechaoda K110. Он явно был похож на игровую консоль и выглядел как расширенная версия Nokia N-Gage! Я конечно же сразу заказал и как только телефон пришёл я начал сбрасывать прошивки и искать возможности добавить ещё игры!
❯ Что внутри?
Вскрыв телефон, я не нашел в меню ни игр, ни эмуляторов, кроме стандартного Сокобана. Оказывается, переход в игровой режим осуществляется нажатием соответствующей кнопки на геймпаде.. что вызвало у меня весьма неоднозначное ощущение. Сначала я думал, что инженеры каким-то образом приостановили выполнение задач MMI (интерфейса устройства) и освободили ресурсы, чтобы освободить процессорное время для эмулятора.
Поэтому я сразу решил получить дамп прошивки с устройства, чтобы изучить его в шестнадцатеричном редакторе. Сбросить аппарат на процессор Spreadtrum несложно: достаточно найти загрузочный ключ (кнопку, переводящую телефон в режим прошивки) и подключить телефон с загрузочным ключом к ПК, а затем "слить" прошивку с помощью сервис типа Miracle Thunder Такой софт. Однако этого недостаточно, поскольку из-за использования в качестве основного накопителя очень маленькой SPI-флешки объемом всего 4 МБ, код и все ресурсы сжимаются на этапе сборки прошивки и распаковываются на лету. Какое необычное решение!
Данные в прошивке упакованы с использованием алгоритма сжатия LZMA. В сети уже была доступна готовая программа распаковки, которая помогла мне покопаться в дампе и продолжить изучение различных частей флешки в шестнадцатеричном редакторе. Всего есть 4 части: kern — ядро RTOS, res — ресурсы, такие как строки и значки, usr — пользовательские настройки, строки и, возможно, mmi-программы и ps, который также содержит некоторые модули, связанные с RTOS. Однако вот в чем дело: я не нашел ни строк отладки эмулятора NES с открытым исходным кодом, ни самого ПЗУ (они бывают разных форматов, но наиболее распространенным является iNES.
После этого я решил разобрать устройство, чтобы узнать, где хранятся ПЗУ NES. Телефонный звонок состоит из двух частей. Слева находится печатная плата с телефонной частью устройства, которая состоит из процессора Spreadtrum SC6531E, флэш-накопителя SPI емкостью 4 МБ и оперативной памяти объемом 4 МБ. Стандартная телефонная платформа для экономичных кнопочных устройств. Справа находится плата с шлейфом до 39 контактов и какими-то кнопками на ней. Многовато для матричной клавиатуры, согласны?
на обратной стороне правой панели я нашел только… сопли! А точнее, если быть более правильным, неупакованная микросхема, кристалл, припаянный к плате и покрытый сверху специальным составом. Дальше начинается головоломка: рядом лежит SPI-флешка формата 64х8, микросхема вообще без какой-либо маркировки (вероятно, усилитель), а во главе - процессор без корпуса!
Я сразу выпаял SPI-флешку и установил ее в программатор, чтобы быстро прочитать ее и попробовать заменить на ней список игр. Микросхему на таких платах можно выпаять только паяльником! При использовании фена есть риск повредить соединение, поэтому структура кристалла крайне хрупкая и заменять такую микросхему в домашних условиях нецелесообразно.
Прочитав дамп, я нашел в мультиигровом меню текстовую строку с описанием игры и попытался разобраться в устройстве картриджа.
Обратите внимание: Топ-5 приложений молодёжи Китая.
Я начал гуглить такие вещи, как «Игровая консоль Sup 8Mb SPI flash» и обнаружил, что иногда современные супербюджетные консоли с возможностями мультиигр Dendy используют SPI-флешки с процессорами производства VRTech. Как я позже узнал, VRTech не только клонировал современную «денди» аппаратуру в виде системы-на-кристалле, но и усовершенствовал ее архитектуру: добавил поддержку ЖК-матрицы, новых команд и регистров и прочих крутых штучек. Есть даже компилятор C и SDK для ядер, совместимых с 6502!Дамп флешки процессора VRTech содержит в начале код для инициализации ЖК-дисплея и, возможно, некоторой периферии (об этом вам может рассказать гуру NES @ClusterM, поэтому я пригласил его прокомментировать) и дамп кассеты OneBus Mapper. То есть технически мы можем не только заменить многопользовательскую игру, адаптировав дамп с другой консоли, но и расширить список игр небольшим аппаратным хаком: нужно впаять параллельно вторую SPI-флешку, но соединить контакты ChipSelect каждый из них подключен к каким-то крохотным тумблерам в корпусе и я могу переключить качество на нужный нам чип памяти! Помимо SDK на сайте VRTech есть эмулятор, который загружает мои дампы, хоть и с ошибками (изображение появляется лишь на несколько кадров, а затем исчезает). Но мне удалось определить, какой процессор использует игровая часть телефона - VRTech VT09!
Поэтому функциональная схема мобильного телефона проста как табуретка и в то же время умна: когда мы переключаемся в игровой режим, часть мобильного телефона отключает линию, управляющую дисплеем, выход GPIO от ЦАП к Усилитель используется для контроля состояния матричной клавиатуры, а затем питается от игровой части процессора устройства. Затем, когда пользователь нажимает кнопку «Назад», телефонная часть отключает питание процессора NES и возвращает себе управление периферийными устройствами. Ну, это здорово, не так ли? :)
В результате разработчики устройств практически полностью решили проблему правильной эмуляции ретро-консолей на слабых телефонах. Оптимизировать эмулятор нет необходимости, так как он все равно не обеспечит нормального игрового процесса на относительно слабом процессоре. Чтобы работать быстрее, всегда есть пропущенные кадры, попытки обнаружить нулевые циклы и артефакты моделирования. На аппаратном клоне все игры всегда работают со скоростью 50/60 кадров в секунду без каких-либо задержек ввода или подтормаживаний. И все это стоит дополнительно 5-10 рублей за микросхему (учитывая отсутствие корпуса и цену приставки типа Sup, думаю, дороже она не обойдется). По сути, Kechaoda K110 — традиционный брат-близнец консоли Sup!
❯ Обзор
Давайте посмотрим, как этот телефон поведет себя на практике. В общем, телефонная часть здесь стандартная, две симки, MicroSD, стандартная прошивка, как почти у всех последних кнопочных телефонов. Нет поддержки Java или MRP, как из-за лицензии, так и из-за экономии памяти, поэтому установка сторонних приложений невозможна!
Однако как мобильный телефон К110 мне однажды помог. Я не только поймал такси, но и поиграл в дороге – настоящий кайф! Однако есть и недостатки — например, невозможно синхронизировать контакты с другими компьютерами, кроме VCF, через Bluetooth, а память контактов относительно мала, что не очень удобно.
На фото можно заметить огромную ленту с 8 светодиодами. Здесь он действует как фонарик.. и притом очень яркий. Настолько, что я не светил на камеру смартфона при съемке видео, чтобы не навредить своим эпилептическим зрителям! В целом видно, что китайцы очень стараются сделать звонилки не только дешевыми, но и практичными! Во время игры раздел телефона не выключается: при входящем звонке светодиод телефона начинает мигать.
Также в телефоне очень громкий динамик. Телефон сам по себе может выступать в роли динамика с FM-радио и воспроизводить музыку с MicroSD, хотя качество, конечно, не идеальное. Но оно того стоит!
Конечно, пришло время играть в игры! В телефоне предустановлена мультиигровая система с 84 играми. Есть Platinum Famicom — Contra, Super Mario Bros. (и взломанная версия!) и Teenage Mutant Ninja Turtles, так что есть во что поиграть.
Все игры работают со скоростью 60 кадров в секунду без каких-либо артефактов симуляции. Однако звук процессора VRTech не полностью повторяет оригинал. В целом вполне играбельно. Также минусом является то, что в игре вообще нельзя сохранять текст, так как NES аппаратная :)
Для большей наглядности вот таймкод из моего видео об этом телефоне:
Также есть видео ВК для тех, кому лень включать VPN:
❯ Заключение
Это интересный телефончик, сделанный китайскими инженерами. Ведь это действительно здорово: зачем оптимизировать эмулятор, пропускать кадры, пытаться эмулировать, когда можно просто поставить на плату фишку за 5-10 рублей и передать ей управление, когда пользователь захочет поиграть в игру. А как насчет обычного? голос...
Конечно, такой подход не лишен недостатков, но лично я ценю вклад, вложенный инженерами в это очень интересное устройство. Надеюсь, вам это тоже будет интересно, и с нетерпением жду ваших мыслей в комментариях! Если вам интересна тема ремонта, моддинга и программирования гаджетов из прошлого, подписывайтесь на мой Telegram-канал «Клуб любителей Балджа», где я публикую закулисные видео, ссылки на новые статьи и видео, а также небольшой блок-пост.
Очень важно! Разыскиваются девайсы для будущих статей!
Друзья! В рамках подготовки к статье о разработке самодельных игрушек для необычных устройств объявляется поиск мобильных телефонов и игровых приставок! В 2000-х китайцы часто делали дешевые телефоны с игровой направленностью — обычно у них был какой-нибудь геймпад (джойстик) или хотя бы две кнопки сверху устройства для выполнения функций A/B, а эмуляторы NES/Sega были заранее. - Установить. Фишка в том, что на таких телефонах можно запускать нативный код и портировать на них новые эмуляторы, чем я и хочу заняться и написать об этом подробную статью и записать видео! Если у вас есть телефон такого формата и вы готовы его подарить или продать, напишите мне в Telegram (@monobogdan) или в комментариях. Также интересуют игровые приставки для Android-смартфонов (Func Much-01 точно есть на российском рынке), формат контента немного другой :)
Интересная вещь? Мне нравится возиться с ними и писать для них программное обеспечение.
Также ищу старые (2010-2014 года) подделки смартфонов марок Samsung, Apple и т.д. Они часто используют очень интересные чипсеты и поддаются хорошему моддингу, статей опубликовано несколько, но идеи по их моддингу у меня еще есть! Также, возможно, у кого-то до сих пор есть один из первых смартфонов Xiaomi (серия Mi), Meizu (все еще на Exynos) или телефонов Motorola (таких как EM30, RAZR V8, ROKR Z6, ROKR E2, ROKR E5, ZINE ZN5 и т д.), который запустить Линукс, я хотел подготовить о них специальную статью и видео, в связи с тем, что они использовали очень мощные для своего времени процессоры и были подвержены жесткому моддингу, даже будучи способны запускать Quake!). Огромное спасибо всем за ваши пожертвования!
Еще я складываю все свои телефоны в одну корзину (в смысле все проекты у одного облачного провайдера) — Timeweb. Поэтому я беззастенчиво рекомендую то, чем пользуюсь сам — Добро пожаловать:
Перейти ↩
[Мой] Опрос Покупка Гаджет Смартфон Мобильная игровая игровая приставка Ностальгическое ретро DendyNES Китай Китайский AliExpress Taobao Видео YouTube Видео VKL Long Post 118Больше интересных статей здесь: Гаджеты.
Источник статьи: Уникальный игровой телефон с двумя процессорами за 2 000 рублей — разбираем плод инженерного гения из Китая.