Тайна Motorola E398 — лучшего музыкального телефона из нулевых [Длиннопост, про железо]
Осторожно: данная статья - одна из моих лучших работ, посвященных истории моддинга мобильных телефонов. Если вам интересно узнать о том, как команда студентов хакала загрузчик E398, как инженеры Motorola разработали настоящее чудо и каким образом команда хакеров превращала простую "звонилку" в смартфон - приглашаю вас к прочтению!
Многие ли из вас помнят о легендарном музыкальном телефоне из далёкого 2004 года - Motorola E398? На момент выхода, модель буквально не имела аналогов на рынке и за относительно скромную цену в 150$ предлагала два огромных динамика, слот для MicroSD-карты, возможность проигрывания MP3-треков и даже неплохую поддержку 3D Java-игр. Однако Moto E398 гораздо интереснее, чем кажется на первый взгляд...
❯ Предисловие
Пожалуй давно у нас не было статей в рубрике «устройства, которые мы потеряли». В прошлом году, мы успели с вами посмотреть на самые разные гаджеты: Nokia 6600, Siemens C65, HTC Wallaby и этот список далеко не конечный. Мы узнали с вами о том, на каких аппаратных и программных платформах были построены эти устройства, на что они были способны на практике и даже хакнули один из телефонов, научив его запускать нативные программы с MicroSD-флэшки:
Однако изучая моддинг-сцену телефонов нулевых, мы незаслуженно с вами забывали о телефонах Motorola. И зря: «моторолки» были одними из самых интересных устройств с точки зрения кастомизации, а коммьюнити моддеров существует до сих пор, спустя более чем 20 лет после выхода самых популярных телефонов компании. MotoFan всё ещё жив, в нём каждый пень пишут более 500 сообщений и общается около 30 постоянных участников, а из недавних значительных достижений — порт Doom и эмулятора NES...
Но конечно такие возможности моддинга стали доступны отнюдь не сразу. Это результат тысяч часов реверс-инжиниринга и хакинга прошивок, сборки общей базы данных и паттернов по аппаратной и программной платформе телефонов Motorola, а также сотни замыканий тест-поинтов и уходов телефона в ресет из-за испорченной памяти... Но начнём, пожалуй, с предыстории.
❯ Появление платформы P2k
Практически всю свою долгую историю телефоны Motorola строились на базе чипсетов собственной разработки. В моделях 90-х годов использовались самые разные аппаратные и программные платформы, и уже тогда предпринимались первые попытки моддинга. Конечно сам моддинг был утилитарный и в основном заключался в удалении симлока, русификации, изменения графики — но факт остаётся фактом.
Развитию моддинга способствовало использование знакомой процессорной архитектуры m68k, которую разработала также Motorola. В те годы, процессоры этого семейства были очень популярными и использовались не только в телефонах, но и в КПК Palm, компьютерах Amiga и даже в Mac'ах. Конечно ARM уже существовал в те годы, и легендарное ядро ARM7TDMI-S понемногу лицензировалось чипмейкерами, но превосходство на рынке портативных гаджетов всё ещё оставалось за m68k и Hitachi SuperH.
В 1999 году, Motorola представила новую линейку CDMA-телефонов построенных на процессорах с новой архитектурой M-Core (в какой-то степени наследник m68k, разработанный для переносимых устройств). Архитектура отличалась от m68k тем, что была RISC (что кратно снижало комплексность декодера инструкций) и имела фиксированный размер инструкции — 2 байта, что позволяло заметно экономить флэш-память. Но самое интересное было то, что для этих телефонов Motorola разработала новую программную платформу, имя которой было P2k (Platform 2000)!
В 2001 году, Motorola продолжает выпускать телефоны с m68k и M-Core «под капотом», однако к ним добавляются модели Timeport, которые использовали чипсеты разработки Texas Instruments под названием Whitecap и построенные на совершенно другой оболочке — EMMI/Legacy. По сути, это был предшественник мегапопулярного TI Calypso, который использовался с 2003 по, как минимум, 2010 год! В свою очередь, платформа P2k всё так же продолжала развиваться и использоваться в новых моделях, а к CDMA-устройствам также добавилась первая GSM-модель под названием V60.
И вот, в 2002 году, Motorola наконец-то представляет новую платформу — Neptune LCA (Low Cost Advance), построенную на базе ARM ядра. Первым телефоном с этим чипсетом стал бюджетный Motorola C330, который получил умеренный успех, но настоящим бестселлером стала последующая модель, которая получила имя C350! Телефон был невероятным прорывом для 2003 года в сегменте ультрабюджетных устройств: за 60$ (или 4.444 рубля), C350 предлагал цветной дисплей с 12-битным цветом (как у Symbian смартфонов тех лет!), поддержку GPRS с WAP-браузером, некоторый объём встроенной памяти для хранения анимации, картинок и полифонии, и даже 2.5D игру MotoGP. Такие крутые программные фичи появились благодаря новой версии MMI, которая всё также берёт корни от той самой P2k из 1999 года...
Что такое MMI?
MMI в кнопочных телефонах — это оболочка, которую видит пользователь, или если говорить простыми словами — «операционная система». В основе MMI лежит фреймворк для построения пользовательского интерфейса и разработки приложений, менеджер окон, рендерер шрифтов и изображений, декодеры аудио/видео, иногда аудио-микшер и абстракция над API конкретной операционной системы. У Motorola такая абстракция называлась suapi.
Сам MMI разрабатывается отдельно от телефона и отлаживается в специальном симуляторе на ПК. Например для Symbian — это вариация ядра EKA под Windows (не смейтесь, так и было!), для Siemens — билд оболочки под Windows (её также распространяли в SDK для J2ME), а для Motorola — полный эмулятор Neptune LTE, включая ARM-процессор. Такие вот инженеры Motorola молодцы :)
Из серьёзных конкурентов у C350 был разве что Samsung C100, но даже он стоил значительно дороже. Однако время шло, и уже в конце 2003 года, Motorola продолжила развитие ARM-платформы Neptune, представив следующее поколение — Neptune LTE (Low Tier EDGE), которое отличалось поддержкой стандарта связи EDGE. Первым устройством на LTE стала раскладушка V600 — продолжение той самой V60, в которую инженеры Motorola установили аж 5 мегабайт встроенной памяти и, только вдумайтесь, добавили поддержку воспроизведения MP3 с битрейтом в 320кбит/с!
Однако у V600 не было слота под SD-карту, так что наличие поддержки MP3 было не особо оправданно. Но уже в 2004 году, Motorola представляет телефон, который просто перевернул мобильный рынок в бюджетном сегменте. И как вы уже поняли, речь идёт о E398! Устройство, построенное на чипсете Neptune LTE, позиционировалось как специально предназначенное для прослушивания музыки и просмотра роликов. Помимо слота под MicroSD-карты и поддержки MP3, Motorola оснастила E398 двумя огромными стереодинамиками, поддержкой воспроизведения 3GP и MP4-роликов, а также довольно шустрой Java-машиной JBlend с поддержкой MIDP 2.0. Интересно было и то, что E398 стал одним из пионеров трёхмерной графики на кнопочных телефонах благодаря поддержке программного растеризатора Mascot Capsule v2 (да, как у Sony Ericsson, но чуть постарше)...
❯ Первые шаги
Немудрено что у такой недорогой и при этом нафаршированной с точки зрения функционала модели появились свои фанаты, и как в случае с телефонами Siemens, среди них были молодые студенты-гики, которые постигали искусство реверс-инжиниринга и моддинга... Но вот незадача: в отличии от тех же самых Samsung и LG, у Motorola с Siemens загрузчики были заблокированы с завода. У Siemens'ов задача разблокировки решалась генерацией специального ключа BootKEY на основе двух других значений, уникальных для каждого процессора Infineon S-Gold: ESN и Hash:
У «моторов» же вообще была неприступная стена без возможности пользовательской разблокировки, и BootROM с вторичным загрузчиком имели сразу несколько степеней защиты с проверкой RSA-подписи выполняемого кода. Но был очень важный нюанс: загрузчик нельзя было разблокировать никаким способом, а инженерность (и возможность запуска неподписанного кода) каждого процессора определялась всего лишь одним фьюзом, который прожигался на заводе при производстве чипа!
И вот всего один бит, один прожженный фьюз отделял целое коммьюнити от возможности модифицировать свои телефоны... Но затем один 24х-летний парень под никнеймом @Vilko с другими ребятами умудрился отреверсить загрузчик и обнаружить, что он:
Не проверял подпись, если прошивка зеркалировалась выше первых 16МБ Flash-памяти (работало только на моделях с 16МБ — как, например, C350). Можно было пропатчить заголовки в CG1 и просто указать базовый адрес XIP контроллера + 0xFFFFFF.
Не проверялся порядок проверки подписи. Там был сложный и замороченный механизм верификации загрузки, поэтому хак с подменой порядка верификации загрузчика позволял обойти проверку подписи модифицированной прошивки и запускать произвольный код.
В вспомогательном RAM-загрузчике, который загружается через USB, была уязвимость переполнения стека, благодаря которой можно было изменить адрес возврата и заставить загрузчик прыгнуть на произвольный код. С помощью этой уязвимости можно было понизить версию загрузчика на более старую, которая обходится одним из методов выше.
И уже в 2004 году, Vilko с командой Motofan успешно хакнули загрузчики первых версий на E398. А что началось после этого... сложно описать в рамках одной статьи! Патчили конфигурацию усиления динамиков (делая их ещё громче!), драйвер камеры, меняли графику и даже писали патчи, которые так или иначе изменяли поведение телефона. Прошивку активно реверсили в IDA Pro, изучали её архитектуру, находили сигнатуры функций и по паттернам выискивали их в других телефонах на той же платформе...
В 2005 году, как бы это не звучало парадоксально, Motorola выпустила первый «Apple-телефон» — ROKR E1. По сути, это был тот-же самый E398, однако в него добавили дополнительную кнопку для запуска проигрывателя, модную белую тему и плеер iTunes, знакомый нам по продукции Apple. При этом сам iTunes был реализован в виде Java-приложения — corelet'а и тем самым привлек внимание владельцев обычных E398'ых. Гений в лице @Vilko в одиночку умудрился пропатчить прошивку от E1 и запустить её на E398...
Но всё равно сообществу Motofan было мало существующего функционала и они начали думать: как бы превратить E398 в полноценный смартфон и добавить возможность запуска нативных программ, написанных на C? Поскольку функции UI-фреймворка P2k ещё были недостаточно изучены, подступиться решили к Java-машине: примерно в 2005-2006 году, предположительно с R&D подразделения Motorola в России, утекли Elf-бинарники прошивки со всей информацией о символах: имена и адреса функций, глобальных переменных, информация о секциях прошивки и другие полезные данные. Там же были найдены реализации абстракции над графической подсистемой в JBlend (Aplix JBlend использовалась во многих мобильных телефонах нулевых и отличалась относительной простотой портирования благодаря абстрагированию вообще всего что можно), а также нативные реализации методов из CLDC и MIDP.
Стоп... R&D Motorola в России?
Да! Когда-то части прошивки P2k разрабатывались в офисах в Санкт Петербурге и Владивостоке. В Питере команда занималась портированием JBlend для P2k, дабы в C380 и E398 появилась поддержка Java-приложений, а вот чем занимался офис в Владивостоке мне неизвестно. Так что первая тайна E398 заключается в том, что к её созданию приложили руки в России :)
В российских R&D явно работали ребята, которые поддерживали не только бизнес-процессы транснациональной корпорации, но и идеи сплоченного коммьюнити моддеров, так что через некоторое время после закрытия отделов, в сети оказались те самые сливы Elf'ов прошивки, а чуть позже — исходный код порта JBlend для P2k. Спасибо вам ребята, которые решили поделится этим добром, именно благодаря вам спустя 22 года моддинг-сцена Motorola продолжает развиваться на полную катушку!
К слову, разработку прошивки в РФ аутсорсила не только Motorola. У нас точно был R&D-центр LG: ко мне в комментарии пару лет назад приходил инженер-хабровчанин, который рассказывал о том, как они писали программную реализацию OpenGL ES 1.0 для телефонов на чипсетах Qualcomm для западного рынка. Есть также догадки о том, что какую-то часть разработки могла аутсорсить Nokia (или её подрядчик), но железных доказательств у меня нет :(
Некий моддер из Польши под ником elektro255 додумался, что можно пропатчить одну из функций JVM так, чтобы она при вызове с определенными аргументами загружала нативную программу по заранее определенному адресу и передавала ей управление. Это был первый простейший бинлоадер, который позволял писать несложные программы по типу игр и разных демок — но это был большой задел на будущее...
В 2007 году, в моддинг-сцене Motorola случается огромный прорыв: появляется самый первый эльфлоадер, библиотека функций и EP1 (ElfPack 1). Благодаря сливу дебаг-информации, моддеры разобрались в сложной оконной системе UIS (UI-фреймворк P2k, сложность заключается в огромном количестве стейт-машин) и научились писать полноценные программы, которые работали как нативные приложения, собранные вместе с прошивкой! Помимо этого, были найдены функции для управления потоками и щедуллером RTOS, благодаря чему появилась возможность реализовать полноценную многозадачность. Теперь эльфы могли делать полезную работу в фоне: например обновлять почту, сообщения в аське (почти пуши!) или заставить по рабочему столу бегать овечку :)
Ну а дальше процесс моддинга пошёл семимильными шагами: эльфпаки были портированы на Razr V3, V360 и другие популярные модели, а затем раскопали и модели на базе процессоров M-Core. Дело в том, что в Россию попадали исключительно «бюджетные» по видению Motorola модели на платформе Neptune LTE/LCA, в то время как на западном рынке использовались флагманские M-Core'ы. Энтузиасты получили в свои руки несколько таких телефонов, умудрились точно также их отреверсить, портировать ElfPack1 и получить почти идентичный функционал на куда более мощных телефонах с процессорами, построенных на проприетарной и почти неизвестной архитектуре... Вот это я называю высшим пилотажем!
Ну что-ж, вот такая длинная предыстория моддинга телефонов Motorola у нас с вами получилась. Но вы же не думаете, что у E398 больше не осталось тайн?!
Разбираем
Следующим делом мы разберем с вами E398 и узнаем что у него находится «под капотом». Для разборки я решил взять донорский телефон, который ко мне когда-то попал из утиля, а он в свою очередь туда попал после неудачной попытки ремонта.
Разбирается телефон очень легко: достаточно лишь открутить несколько винтов по периметру корпуса и расщелкнуть клипсы, после чего устройство разделяется на две половинки. В целом, ремонтопригодность E398 была на очень достойном уровне: заменить дисплей, динамики или клавиатуру можно было без особых навыков буквально за 5-10 минут работы. Единственное исключение — джойстик, но он на этой модели никогда не был проблемным. Также радует частичная унификация запчастей: например в E398 свободно устанавливался дисплей от E1 и L7.
Почти все чипы на плате были залиты флюсом. Кто-то пытался починить устройство прогревом всего подряд :)
Первым делом в глаза бросается блок из двух огромных динамиков. Они большие даже по нынешним меркам, а уж сам факт наличия стереозвука в внешних динамиках в 2004 году был нонсенсом даже для флагманов, не говоря уже о среднебюджетной модели. К сожалению, мне нечем замерить их уровень dB, но с патчами E398 был способен заменить среднестатистическую колонку или даже бумбокс, и при всём этом звучал качественно!
Чуть ниже, под защитным экраном скрывается сердце устройства — тот самый процессор Motorola Neptune LTE под маркировкой SC29332VG. И как бы это парадоксально не звучало для телефона с поддержкой MP3, по своим инженерным решениям он был ну очень своеобразным. Состоял он из:
Основного вычислительного ядра ARM7TDMI-S, работающего на частоте 52МГц с возможностью разгона до ~64. Для 2003 года, сам факт использования ARM7TDMI родом из 1994'го в не самом бюджетном телефоне уже был некой диковинкой: более свежее ядро ARM9T с 1999 года активно вводилось в эксплуатацию и было производительнее в 2-2.5 раза с возможностью работы на частоте до ~416МГц. Однако за сам факт использования столь старого ядра Motorola корить не стоит: те же самые бюджетные чипсеты Sysol (Samsung), Analog (LG, Hyundai) использовали аналогичное ядро, просто телефоны на их базе метили в не столь функциональный сегмент.
Вспомогательного DSP-ядра S-ONYXU 56600 собственной разработки Motorola, работающего на частоте 130МГц. В его задачи входит низкоуровневая работа с GSM-стеком, декодирование и кодирование голоса, а также декодирование MP3! При этом DSP способен легко обрабатывать треки с частотой дискретизации до 320кб/с. Именно поэтому на всех телефонах с процессорами Neptune LTE была поддержка MP3, в отличии от тех же самых Siemens'ов, где несмотря на мощный DSP, поддержку воспроизведения музыки реализовывали костылями (то через сторонний декодер, то программно, даже несмотря на заявленную поддержку MP3 в DSP S-Gold и даже E-Gold).
256 килобайт встроенной RAM и аж 1.79МБ ROM! Такой большой размер BootROM'а здесь неспроста: по заявлению @EXL, в нём хранится не только загрузчик, но и своя небольшая прошивка с самостоятельным GSM-стеком. Когда-то ходили слухи о закладках со стороны Motorola, но на практике скорее всего просто хотели выпускать ультрабюджетные телефоны вообще без флэш-памяти. У DSP есть своя дополнительная память — 381КБ ROM и 191КБ ОЗУ.
Встроенный RF-фронтэнд как для RX, так и TX-части. В его задачи входит вся «магия» по превращению цифровых GSM-пакетов из DSP в аналоговый сигнал, который затем отправляется на усилитель (PA) и далее уходит в эфир. Однако в E398 всё равно используется внешний фронтэнд, разработанный самой Motorola
Контроллеры SPI, 8080, а также USB. Из-за аппаратной поддержки USB, Neptune LTE буквально был одним из самых продвинутых мобильных чипсетов тех лет и Motorola активно продвигала использование обычного USB без UART-преобразователей. Интересно то, что контроллер RAM не поддерживал динамическую оперативную память вообще. То есть по сути, контроллера памяти и не было: из процессора напрямую выходила классическая 16-битная 8080-шина с парой чипселектов исключительно на статическую память без рефреша. Тут можно провести прямую параллель с FSMC в STM32.
Встроенный референсный кварцевый резонатор, формирующий клок для набора из двух PLL (Phase Locked Loop), которые используются для тактирования и управления частотой работы различных подсистем чипсета. Например разгон мобильных процессоров — это чаще всего перезапись регистра управления PLL (если необходимо переключить на другой источник, зависит от процессора), настройка делителей, а также напряжения VCO. Вообще, мне всегда было интересно как чисто теоретически возможно встроить полноценный кварцевый резонатор прямо в кристалл, если у кого-то есть такая информация, прошу поделится в комментариях!
Такой высокий уровень интеграции для 2003 года был очень крутым. Единственное слабое место чипсета — понемногу устаревающее на момент релиза ядро ARM7TDMI, а учитывая комплексный UI-фреймворк и сложную модульную архитектуру системы в целом, 52-х мегагерцовый процессор буквально не справлялся с таким тяжелым интерфейсом, из-за чего телефоны заметно подтормаживали и плохо показывали себя в Java-играх. Это вторая тайна E398 :)
Чуть ниже процессора расположилась микросхема комбо-памяти производства Intel под маркировкой L18SCSP. На одной подложке скрывается 32МБ NOR-памяти StrataFlash и 8МБ PSRAM. NOR-память можно было напрямую подключить в адресную шину процессора и использовать XIP (eXecute In Place) для выполнения кода напрямую с чипа памяти без сложных кэшей и необходимости предварительной загрузки в RAM. PSRAM же внутри представляла из себя обычную DRAM, плюс Refresh-контроллер с обычной 8080-шиной наружу. Именно поэтому, такая память называется псевдостатической. К слову, такие чипы памяти прекрасно поддаётся апгрейду и расширению: можно просто поставить чип большего объёма и обращаться к новым верхним адресам (если линии под них, конечно, разведены).
Правее процессора расположился Bluetooth-модуль 95L14CN. Он в свою очередь требует отдельный 26МГц кварцевый резонатор для работы и несколько конденсаторов с резисторами, а к процессору он подключен по шине UART. Именно поэтому скорость работы была не слишком высокой (сейчас BT-модули чаще подключают через SDIO или USB). Правее расположился чип LP3933, который отвечает за Fun-lights (светодиоды, подмигивающие в ритм музыки) и подсветку дисплея. Так что если у вашего «мотора» не работает подсветка — смотрите в сторону этого драйвера... или переделывайте подсветку на LM-ку с Samsung C100 :)
С верхней части платы скрывается усилитель сигнала Skyworks SKY77501-14. Есть один важный момент: обычно усилители всегда подключаются напрямую к VBAT (питанию аккумулятора) без каких либо внешних DC-DC преобразователей и ключей, и иногда они могут выходить из строя, даже если телефон выключен. Так что если ваш «мотор» ни с того ни с сего перестал включаться — проверьте PA на нагрев и если нужно — замените. Чуть левее усилителя расположился RF-фронтэнд MC13777P в паре с ещё неким модулем, который в схеме помечен как фронтэнд. К сожалению о деталях реализации RF-части ничего подробнее рассказать не смогу :)
С обратной стороны платы нас поджидает ещё одна, уже третья тайна Motorola E398... и это — чип ATi Imageon 2250. Да, в телефоне за 6 тысяч рублей был установлен полноценный GPU. Однако несмотря на то, что в 2003 году, 3D-графика в телефонах и КПК только зарождалась, именно этот Imageon является 2D-ускорителем. В его задачи входит быстрая аппаратная отрисовка изображений (блиттинг), спрайтов, линий, прямоугольников и всё это с аппаратным альфа-блендингом и поддержкой различных растровых операций (умножение, суммирование, прозрачность через колоркей). Помимо этого, чип поддерживает работу с камерой, декодирование MJPEG и содержит в себе встроенную память для фреймбуфера. Дело в том, что чипсет Neptune LTE со своим ARM7TDMI ядром не был способен на быструю отрисовку графики исключительно силами процессора на телефонах с разрешением дисплея выше 128x128, поэтому инженерам пришлось прибегнуть к использованию стороннего GPU.
Чуть ниже ATi расположился контроллер питания, который также разработан Motorola. По плате видно что его грели в первую очередь — это часто делали некоторые олдовые ремонтники в нулевых годах (да и сейчас делают). На него даташита я не нашел, однако судя по схеме он отвечает за зарядку литиевых аккумуляторов, транзисторную защелку разрешения подачи питания, содержит в себе несколько LDO для формирования шин питания различных подсистем телефона, АЦП для микрофона, а также усилитель для динамика. И вот тут есть интересное инженерное решение: дело в том, что усилитель в КП только один и предназначен он для одного внешнего динамика. А поскольку в E398 их два, для второго используется дополнительный усилитель LM4879IBLX.
В качестве дисплея используется TFT-TN матрица неизвестного производителя (скорее всего Sharp) с разрешением 176x220, которая подключается к GPU с помощью параллельной 16-битной RGB-шины (GPU устанавливает пиксель, дергает CLK, когда одна строка изображения подготовлена — дергает HSYNC, затем когда кадр подготовлен — дергает VSYNC).
Вот такой был конструктив у Motorola E398! Причем эта же платформа использовалась без изменений и в других легендарных телефонах компании: например Razr V3 и V3i, V360, KRZR K1, SLVR L3, SLVR L6, SLVR L7...
❯ Прошиваем...
По правде сказать, я практически не встречал E398'ые без какого-либо моддинга. Может быть не у всех были монстрпаки (кастомные прошивки) с EP, но во многих были установлены различные твики и самый главный — усиление громкости динамика.
Перед прошивкой «мотора» необходимо сначала забэкапить раздел PDS (калибровки радиотракта) с помощью программы Flash & Backup, проверить версию загрузчика ( @EXL в комментариях напишет их отличия) и выбрать монстрпак на выбор. @EXL рекомендует прошивку DAR-Test как самую нафаршированную и собранную частично из хаков и частично из слитого исходного кода P2k. По сравнению с оригинальной прошивкой, кастом в себя включает:
Поддержка 2ГБ MicroSD вместо стандартного ограничения в 1ГБ
Поддержка Bluetooth в Java-приложениях
Хак плеера для включения поддержки 320кбит/с в MP3-треках.
ElfLoader с диспетчером задач и возможностью загрузки эльфов первой и второй версии. Именно этот патч превращает E398'ой в смартфон!
Три альтернативных музыкальных плеера. Почему бы и нет? :)
Возможность разгона процессора до 65МГц.
Далее необходимо прошить специальный файл — Flex. По сути, это файловая система с пользовательскими данными. Прошивка Mini Flex форматирует телефон до заводских настроек, дабы точно ничего не мешало прошить монстрпак. Теперь можно установить и саму прошивку. Скачать DAR можно с всё ещё живого мотофана по прямой ссылке. Файл с расширением fsw открываем в Flash & Backup, переводим телефон в бутлоадер, зажав * и # при включении и если у вас версия загрузчика — 07.D0, то можно спокойно прошивать телефон. Если отличается — напишите @EXL и не шейте вслепую, иначе возможно придется замыкать тест-поинт!
Если после прошивки телефон включается без проблем — поздравляю, вы только что превратили свой E398'ой почти в полноценный смартфон!
❯ Включаем...
После включения нас встречает такая ламповая, но по мнению некоторых «васянская» тема в стиле Windows 7. В те годы темы в стиле десктопных операционных систем были очень популярны: почти под каждую платформу обязательно были темы в стиле XP, Vista и 7'ки, а также Ubuntu и Debian :)
Как я уже говорил ранее, у телефонов Motorola была сложная UI-подсистема, которая называлась Synergy. Она практически вся построена на стейтмашинах и абстракциях, из-за чего слабенькому ARM7TDMI порой тяжело справляться с обработкой и отрисовкой интерфейса. Однако мощность Synergy позволяла реализовывать довольно сложные и комплексные интерфейсы, и главное меню — один из примеров. Его можно было кастомизировать до неузнаваемости: добавить эльфы, патчи, ярлыки к различным приложениям и многое другое.
Примерно в 2005-2006, к UIS прикрутили поддержку векторных сглаженных ttf-шрифтов. Это фича сонериков, нокий и моторов, другие телефоны чаще всего продолжи использовать битмаповые шрифты.
Несмотря на довольно мощный родной плеер в E398, энтузиасты взяли и написали ещё несколько дополнительных. В прошивке DAR присутствует три кастомных плеера на любой вкус: с темами, специальными опциями и другими полезностями. Кроме того, благодаря патчу появлялась возможность воспроизведения MP3-треков с битрейтом аж в 320кбит/с. А уж как играл E398 с патчами... да, пожалуй до такого качества отнюдь не каждый современный смартфон дотягивает. Из тех, что были реально в разы лучше могу вспомнить только ZTE Axon 7:
Также теперь в E398 появился полноценный файловый менеджер с доступом ко всем «дискам» телефона. Через него мы можем не только на лету редактировать коэффициент усиления динамиков и делать всяческие твики, но и запускать те самые эльфы...
Какие возможности давали эльфы? Да практически любые! Сетевые сервисы, клиенты мессенеджеров и почты, игры и даже банальные утилиты — всё это писалось абсолютно бесплатно энтузиастами, которые хотели чуточку расширить функционал своего телефона. Один из эльфов, к примеру, позволял зажать обе софт-клавиши и озвучить время голосом!
Один из самых полезных эльфов позволяет разогнать или наоборот затормозить ядро ARM7TDMI. Конечно с частотами лучше не баловаться, иначе есть риск зависания, однако любые Neptune LTE спокойно гонятся на 12МГц, то есть потенциальный прирост производительности может составлять около 23%. И он действительно чувствуется!
А сейчас телефоны Motorola становятся ещё и объектом интереса среди демосценеров. Например EXL сюда портировал эмулятор Денди, Дум и 3D-движок с GBA, а также ковыряет перспективы использования GPU Imageon. И пусть далеко не все оценили пост с его стараниями по портированию разных демок на E398, мы то знаем что он делает крутые и интересные вещи. Настоящий балдежник!
❯ Заключение
Вот так и получилось, что целых 22 года назад, компания Motorola выпустила пожалуй одну из лучших своих моделей телефонов. И несмотря на все косяки и недостатки, E398 стал действительно народным аппаратом. Настолько народным, что нашлись энтузиасты, которые отреверсили прошивку и хакнули телефон настолько, чтобы превратить его почти в полноценный смартфон...
А что вы думаете о E398? Пишите своё мнение в комментариях!
А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram-канал «Клуб фанатов балдежа», куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты и щитпостю. А ролики (не всегда дублирующие статьи) можно найти на моём YouTube канале.
Если вам понравилась статья и вы хотите меня поддержать, у меня есть Boosty, а также виджет на Пикабу ниже. А ещё мне можно отправить какое-нибудь интересное железо: устройства на WinCE/WinMobile, китайские кнопочники, китайские подделки на iPhone/Samsung из начала 2010-х, ретро-ПК железо - всё это я очень люблю :) Всем огромное спасибо!
Статья подготовлена при материальной и корректорской поддержке @Timeweb.Cloud. У TimeWeb Cloud есть блог компании на Пикабу, поэтому реклама совершенно легальная :)




































