Гейминг за 300: как я купил и оживил дешевую игровую консоль на Android. Можно ли поиграть, сэкономив на шаурме?
Несмотря на незаурядное название, наверняка многие олдовые читатели моего блога будут рады видеть статью в «старом» формате с оживлением и попыткой использования чего-то очень дешевого, грязного и нерабочего. В процессе подготовки подробного материала о том, как работали 2D игры на телефонах из прошлого, я не терял времени и искал различные интересные девайсы на онлайн-барахолках «за копейки». Так уж получилось, что на моей карте осталось 60 рублей, ещё 250 рублей задонатил читатель и я увидел её: Android-игровую консоль «на запчасти», которую мне удалось забрать всего за 300 рублей. Сегодня мы с вами: поговорим, есть ли смысл брать дешевые консоли на Android, во всех подробностях отремонтируем и отреставрируем нерабочий, грязный девайс «из подвала» и проведем бенчмарки эмуляторов, дабы понять — реально ли получить игровую консоль по цене шаурмы. Интересно? Тогда жду вас под катом!
❯ Предисловие
Друзья! Если вы хотите не только читать, но и смотреть, то для этой статьи доступна видео-версия. А те, кто любят читать текст - листают вниз!
Пожалуй, тематика портативного гейминга была актуальна всегда. Ещё в нулевых, многие мои читатели наверняка уже играли на своей личной игровой консоли: будь это тетрис, полноценная PSP, а то и редкая в СНГ Nintendo DS! С резким падением цены на дисплеи и относительно мощные чипсеты, китайские производители начали делать огромное количество своих собственных консолей. Но понятное дело, что в одиночку запускать собственную платформу без игровой библиотеки смысла нет и поэтому китайские вендоры решили поступить проще всего: они портировали эмуляторы NES, Sega Mega Drive и иных популярных консолей из прошлого и просто устанавливали пиратские ромы в подобные устройства. Одной из самых популярных ретро-консолей, которая в своё время произвело фурор на рынке портативного гейминга была известная в узких кругах Dingoo A320, которая стоила копейки для того функционала, который она предлагала (менее 100$ на релизе в 2009 году).
Та самая Dingoo A320 в форме кирпичика
Казалось бы, чем же могла быть интересна самая обычная, «стандартная» дешевая игровая приставка с кучей ретро-игр? И ответ прост: тем, что ОС устройства поддерживала запуск сторонних приложений, а производитель умудрился поделится (или слить, обычно такие вещи под NDA разработчика чипсета) исходный код прошивки устройства и SDK для разработки нативных программ для этой консоли. Стоит ли говорить о том, что энтузиасты сразу принялись портировать популярнейшие игры с открытыми исходниками и множество эмуляторов? Но настоящий успех к этой консоли пришёл лишь спустя год, когда энтузиасты портировали… полноценный Linux на это устройство и библиотеку SDL1.2, дав возможность запускать вообще любой софт, собранный под MIPS для Linux. Конечно-же, на волне популярности со временем у консоли появились и свои клоны, не имеющие отношения к Dingoo A320.
Спустя время, даже корейская Ritmix решилась выпустить RZX-50 на том-же чипсете, что и Dingoo A320 и сразу с Linux на борту, а хабровчанин, нынешний администратор форума «MotoFAN», под ником exl даже работал над разработкой и выпуском этого устройства в РФ! Благодаря дешевизне, такие игровые устройства раскупали как горячие пирожки себе или детям, создавая отдельный рынок дешевых ретро-консолей. Вплоть до того, что в 2012 году появилась первая игровая консоль на перспективной ОС Android — JXD S601 и всего чуть больше, чем за 100$!
В подарке читателя затесался RZX-50!
Идея китайцев была простой: они взяли дешевое, но относительно неплохое железо для планшетов и просто приделали ему аппаратные кнопки, проще уже не придумаешь! Многие Android-игры уже тогда поддерживали управление физическими кнопками (поскольку в те годы ещё выходили QWERTY-смартфоны, например HTC Desire Z), не говоря уже об эмуляторах, из-за чего, по мнению производителей, такие девайсы должны были сметать с витрин учитывая копеечную цену устройств. И в целом, так и происходило: со временем, некоторые бренды в РФ начали называть такие консоли своими именами и продавать в салонах сотовой связи за цену несколько выше, чем в Китае…
Я уже восстанавливал похожий девайс практически ровно год назад!
Помимо этого, JXD даже заморочились и реализовали свой собственный «магазин»… пиратских ромов! Да, в отдельном приложении можно было скачать нелегальные образы игр и сразу же закинуть их в папку эмулятора… Таким образом, получался «топ за свои деньги» тех лет. Покупаешь одновременно и игровую консоль, и планшет, из-за чего для рядового пользователя покупка подобного девайса была весьма неплохим решением: и дитю поиграть, и самому юность в играх для ретро-консолей вспомнить.
Продержались подобные устройства на рынке примерно до 2015 года. К сожалению, в таких консолях было слишком много недостатков и их нужно было вручную доводить до юзабельного состояния, как это часто бывает с дешевыми устройствами: например, многие вендоры почему-то реализовывали аналоговый стик как цифровой (!) в системе, прошивка очень часто была крайне лагучей и страдала от отсутствия оптимизации, а силиконовая токопроводящая резинка для кнопок быстро изнашивалась и кнопки имели уже далеко не такой плавный и мягкий ход как в новом устройстве. К слову, похоже рынок игровых консолей на Android понемногу возвращается: пару лет назад появилась консоль от Anbernic, в которой пофиксили эти недостатки и бонусом снабдили устройство нормальным OLED-дисплеем и чипсетом Unisoc, но цена в 15 тысяч рублей за Android-смартфон с кнопками наверняка вас отпугнет (это реально очень дорого).
Отпугнула и меня. В моей юности у меня тоже была подобная консоль на Android и я, оказавшись в один прекрасный день с 60 рублей на карте, начал листать онлайн-барахолки в поиске чего-нибудь интересного в пределах своего города. И нашёл: некий мужик продавал за копейки устройства на запчасти, среди которых оказалась и моя консоль: JXD S601.
Я предложил 300 рублей, продавец согласился, читатель задонатил ещё 250 рублей на контент и я выкупил консоль в абсолютно неизвестном состоянии, которая оказалась ещё грязнее, чем было на фото. Тем и интереснее!
❯ Реставрируем
Как я уже говорил выше, консоль я купил в совершенно непонятном состоянии: грязная, слишком легкая, резистивный тачскрин был в пузырях, а кнопка триггера вообще не работала. Кроме того, внутри консоли что-то болталось, но и мы не из робкого десятка и готовы отреставрировать старенькую консоль! Разбирается она очень просто: четыре винтика с обратной стороны консоли и расщелкиваем заднюю крышку пластиковой картой. Правда в моем случае, все винты были закисшими и зализанными, но главное что клипсы задней крышки не пострадали.
Разобрав консоль, я увидел вот такую картину (скриншот из видео): кто-то менял аккумулятор, просто припаяв новую банку к старой BMS без изоляции прямо поверх конденсаторов на линиях питания процессора. Само собой, это не дело, благо у меня был аккумулятор такого форм-фактора. Я выпаял остатки BMS и уже подготовил новый АКБ для подкидывания.
Что было особенно неприятно — прошлый мастер потерял динамик и оторвал полностью камеру с шлейфом:
Упомянутая мной кнопка продолжала болтаться по корпусу и её умудрились выломать даже при том, что она сидела с завода на герметике. Видимо уж очень активно её нажимали. Ну, это поправить несложно: убираем припой с посадочной площадки кнопки, вставляем её пинами вниз и припаиваем. Теперь кнопка держится надежно!
Затем я очистил спиртом контакты кнопок и пробрызгал WD'шкой стик и пошёл набирать воду в тазик, дабы отмыть корпус от грязи. После мытья корпуса, я просушил его феном.
Перед финальной сборкой консоли, я решил проверить плату на работоспособность, подключив дисплей и подпаяв питание и…
Да, даже дисплей оказался разбитым :( Но и это не беда, ведь в таких консолях используются экранчики от… навигаторов! Подкинув новый дисплей и убедившись что плата рабочая, я принялся собирать всё обратно…
Но не тут-то было! Консоль оказалась на пароле и очень сильно тормозила, каждое действие занимало ~5 секунд. Ну, тут уже и причина разбитого дисплея очевидна: видимо консолью пользовался ребенок, который психанул от лагов и разбил замечательный девайс. Благо фиксится легко: качаем прошивку, распаковываем в корень MicroSD-флэшки, включаем консоль нажатием «Питание + Меню» и ждём окончания процесса прошивки.
Наконец-то консоль снова в рабочем состоянии! Ремонт обошелся мне… ну, можно сказать 100 рублей за навигатор. Сейчас они вообще никому не нужны и стоят копейки… На ремонт я потратил где-то час своего времени — не так уж и много, зато фана от восстановления достаточно :)
Давайте же посмотрим, на что способна консоль по прямому назначению — в играх!
❯ Тесты
Как я уже говорил выше, фактически подобные консоли — это планшеты с аппаратными кнопками. Само собой у них есть и Wi-Fi, что позволяет их использовать как бюджетный планшет из начала 2010-х годов… например, накатить клиент ВК и YouTube, заюзать встроенный клиент-почты или использовать консоль как плеер.
Запускаем CPU-Z и видим, что характеристики у нашего девайса следующие:
Чипсет: AMLogic AML8726-M3 с одним ядром Cortex-A9 на частоте 600МГц. В качестве GPU используется Mali-400MP.
ОЗУ: 512Мб DDR3.
Flash-память: NAND-модуль на 4Гб.
Дисплей: 4.3", 480x232, TN. Резистивный тачскрин, само собой на одно касание.
Система: Android 2.3 с возможностью апгрейда до 4.0.
Видеовыходы: аналоговый TV-Out.
Для подобного устройства весьма неплохо! Уж, полагаю, подобных характеристик должно хватать и для достойной эмуляции PlayStation 1. Давайте проверим!
Начинаем с самого простого, конечно же NES: я использовал эмулятор emu.NES, настройки стандартные. Эмулятор сразу же подхватил аппаратные кнопки, всё работает шустро и без проблем:
Переходим к Sega Mega Drive, в этом случае я использовал эмулятор emu.MD. Ром «соника» запускается и работает шустро, без каких-то особых проблем или фризов. Но возможно, для кого-то окажется слишком большим инпут-лаг — тут всё сильно индивидуально.
Дальше — больше, переходим к эмуляции PS1. В качестве игры я выбрал Driver, эмулятор epsxe: игра идёт довольно неплохо, в почти стабильные 25-30 кадров. Не все современные консоли с алика могут позволить себе подобный уровень производительность в 3D играх на PS1!
И не забываем, конечно-же, о нативных играх! Здесь тоже всё весьма шустренько: можно погонять в Android-классику тех лет типа Temple Run и иную мобильную годноту тех лет. Ностальгия!
❯ Заключение
Вот такую игровую консоль я купил за 300 рублей. Да, многие читатели скажут, мол, твоё время и затраты на поиск подходящего дисплея это ещё плюс пару тысяч рублей… но лично мне в кайф было пополнить свою коллекцию консолей ещё одним рабочим устройством. Надеюсь и вам было интересно!
Если захотите поискать такие устройства на барахолках по дешману, то найти их можно по названиям брендов (func, exeq, spider) и по описанию (android консоль, android приставки и т. п.). А если вам интересна тематика ремонта и моддинга различных дешевых девайсов, в том числе и телефонов, программирования, DIY — то подписывайтесь на мой Telegram-канал, в котором есть ламповый чат!
Материал подготовлен при поддержке TimeWeb Cloud. Подписывайтесь на меня и @Timeweb.Cloud, дабы не пропускать новые статьи каждую неделю!
Да, так и было! Оставляли у магазина и шли за покупками
Если ребёнок заплачет, кто-нибудь покачает. Даже никто подумать не мог, что ребёнка украдут.
ИСТОЧНИК - здесь собрали лучшие фотоснимки времён СССР.
Если вы профи в своем деле — покажите!
Такую задачу поставил Little.Bit пикабушникам. И на его призыв откликнулись PILOTMISHA, MorGott и Lei Radna. Поэтому теперь вы знаете, как сделать игру, скрафтить косплей, написать историю и посадить самолет. А если еще не знаете, то смотрите и учитесь.
В среду выйдет новый подробный материал из рубрики "сам себе экосистема"
Где я подробно рассказываю о том, как реализовал клиент современного мессенджера Telegram на Android 1.5+ и выше. Таким образом, Telegram будет работать даже на самом первом Android-смартфоне в мире, T-Mobile G1, причём на стоковой прошивке!
Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»?
Моддинг-сцена с разработкой и портированием кастомных прошивок для Android-устройств существует вот уже более 10 лет. В основном, энтузиасты пытаются проапгрейдить свои устройства путем портирования более свежих версий Android, чем предлагает производитель девайса. Чего уж говорить, если Galaxy S III, которому уже 12 лет стукнуло, получил неофициальный апгрейд до Android 14. Порой мне в голову приходят различные, весьма странные моддерские мысли: например, почему бы не портировать на старенький смартфон… ещё более старую версию Android, дабы посмотреть «что будет». Казалось бы «портировал и портировал», но в процессе работы я столкнулся с множеством интересных нюансов и особенностей работы Android, о которых хотел бы рассказать и вам — моим читателям! Сегодняшняя статья будет в классическом «научпоп»-стиле без кода, зато с подробными объяснениями одной из техник портирования Android-прошивок путем патчинга скриптов для конфигурации системы и подмены Board-specific библиотек, дабы система «увидела» всё необходимое железо! Интересно? Тогда жду вас под катом!
❯ Мотивация
У меня, как и у многих моих читателей, одной из первых версией Android в жизни была 2.x. Наверное, я уже никогда не смогу забыть первые впечатления от использования своего новенького, пусть и бюджетного и слабого Android-смартфона после простеньких китайских кнопочников. Эти ощущения были прекрасными: вот я разблокирую смартфон, потянув «замочек» вправо, свайпаю рабочие столы и тапаю на значок приложения браузера, выполненный в стиле скевоморфизма, загружаю полноценную страницу Википедии через GPRS-сеть (мой первый смартфон не имел 3G) и плавно скроллю страницу, не забывая смахнуть шторку вниз и проверить статус уведомлений в пока ещё совсем простенькой панели нотификаций… Это были по настоящему ламповые впечатления, которые не смог превзойти ни один современный девайс: ни AOSP, ни MIUI, ни OneUI.
Моим первым смартфоном была китайская реплика Samsung Galaxy S III Mini, купленная в самом начале 2013 года. Возможно, кто-то из вас помнит, как подобные дешевые смартфоны и планшеты «Sumsanc» можно было купить на рыночных развалах, в метро и прочих местах, где допускается торговать несертифицированными гаджетами. Даже с учётом накрутки, эти смартфоны стоили всего 2 000 рублей, что было просто «подарком» для цены абсолютно нового гаджета. Девайс был крайне простым для начала 2013 года и имел следующие характеристики:
Процессор: Spreadtrum SC6820. Одно ядро Cortex-A5 на частоте до 1ГГц, Mali400 MP в качестве GPU. Чипсет был крайне высоко-интегрированным для своих лет: в одном корпусе располагалось ARM-ядро, GPU, контроллер питания, GPS, множество периферии (например, DAC), а также Baseband-часть GSM-радиотракта. BT/Wi-Fi реализовывались в отдельном комбочипе разработки RDA.
Память: 256Мб DDR1 ОЗУ/256Мб NAND-памяти в одном чипе eMCP от Hynix. Предположительно, эти чипы остались на складах ещё со времен первых Android-смартфонов, но очень быстро потеряли актуальность и их, вероятно, отдавали «за бесценок» что позволило ещё сильнее снизить цену производства таких смартфонов.
Дисплей: безоговорочно, TFT, обычно с разрешением не выше 480x320, что для 3" дисплея было нормальным, но для 5" — уже несколько маловато. Тем не менее, сами дисплеи были нормальными и глаза от них не «вытекали». Тачскрин обычно ёмкостной, на 2 касания.
Android: 2.2, на некоторых похожих моделях встречался 2.3.
Аккумулятор: ~1.500мАч, не больше. По форм-фактору напоминает BP-4L, без проблем подходит от многих S60 смартфонов Nokia тех лет.
Не густо, да? Уже в апреле того же года вышел Galaxy S4 с Snapdragon 600, 2Гб ОЗУ и 32Гб встроенной памяти, а мы тут с одноядерным чипсетом и 256Мб ОЗУ сидим. Но мне, будучи школяром, это было за счастье — чего я на нём только не делал, и на PHP какие-то WAP-сайты динамические пытался писать и на FTP заливать, и даже ADT Bundle скачал, дабы попытаться что-то своё запилить под собственный смартфон! В общем, я был счастлив, несмотря на лаги девайса. Именно того девайса у меня уже давным-давно не осталось… но память я всё ещё храню и стараюсь дать новый дом таким китайчикам, которые в большинстве своем оказались на свалке истории в новом мире современных смартфонов!
Но на самом деле, смартфоны 10+ летней давности могут быть интересны и своим форм-фактором: в современном мире едва ли можно найти хоть какие-то телефоны с полноценной QWERTY-клавиатурой (исключение — смартфоны UniHertz, которые стоят недешево) и уж тем более, боковые слайдеры. Поэтому мой интерес к подобным девайсам очень легко объяснить!
Однако, порой мне самому хочется снова пережить эти эмоции и ещё раз походить с подобным девайсом «на каждый день», даже когда на Android 2.2 особо никакие сервисы уже не работают. Отчасти, я решаю свои проблемы сам и пишу клиенты нужных мне сервисов, если они действительно нужны, дабы рано или поздно всё таки вдохнуть новую жизнь в «старенькие» девайсы. И казалось бы, это можно списать на синдром утёнка и банальную ностальгию, но мои ощущения «ламповости» отнюдь не мимолетны и всё равно меня тянет именно на те смартфоны, с тем самым интерфейсом, которые я когда-то увидел впервые!
Пожалуй, сказать что я решил портировать старый Android на отнюдь не новый смартфон «просто так» было бы ложью. Я всё ещё верю в то, что смогу в одиночку хотя бы частично вдохнуть новую жизнь в эти девайсы и позволить им работать с современными сервисами, дабы они могли приносить пользу не только мне, но и другим людям, которые намеренно занимаются дауншифтингом или вынуждены сидеть на девайсах с старыми версиями Android! Сегодняшним нашим подопытным станет один из представителей подобных noname-смартфонов тех лет, реплика Galaxy S III Mini на том самом железе, на котором работал мой первый смартфон. Однако с завода на нём стоял Android 2.3 — слишком свежая, по моему мнению, версия системы, которую я конечно-же захотел откатить до Android 2.2!
Задача облегчалась тем, что смартфоны на этом чипсете с Android 2.2 уже выходили, что позволило мне портировать прошивку путем несложных патчей скриптов инициализации и копирования Platform-specific файлов, дабы завести все необходимые для смартфона модули. А поскольку о таком простом способе портирования свежих и старых прошивок знают далеко не все мои читатели — я решил написать об этом отдельный подробный материал! Давайте же перейдём к практической части нашей статьи.
❯ Первые шаги
Перед тем, как начать портирование системы, нам необходимо разбираться в том, как вообще происходит процесс загрузки Android и какие процессы при этом загружаются. Вкратце, описать весь процесс загрузки можно так:
Загрузчик: при включении смартфона, первичный загрузчик BootROM, аппаратно-прошитый в чипсет ещё на этапе изготовления чипа, инициализирует некоторую периферию, загружает вторичный загрузчик из NAND (коим может быть SPL — Second Program Loader, занимающийся инициализацией контроллера DDR и UART) и передаёт ему управление. Вторичный загрузчик в свою очередь передаёт управление U-Boot — в задачи которого входит также инициализация периферии, обработка устройств постоянной памяти (например, NAND или контроллер SD), загрузка ядра Linux и конфигурация самого процесса загрузки. U-Boot можно считать эдакой альтернативной UEFI/BIOS в мире не-x86 устройств. В смартфонах на базе чипов MediaTek и Qualcomm, роль U-Boot выполняет LK — маленькая ОС, в задачи которой входит инициализация периферии и передача управления ядру Linux с помощью программы aboot.
Ядро Linux: после загрузки образа ядра с initrd (небольшая файловая система, которая загружается сразу в память и содержит в себе скрипты для конфигурации всего остального) и передачи управления ядру, Linux начинает выполнение программы с PID 0 — /init, в задачи которой входит выполнение скриптов инициализации userspace-окружения системы в init.rc. При этом смартфон уже фактически готов к работе — в одной из своих статей я показывал, как можно приостановить загрузку Android и выполнять свой код, используя все ресурсы смартфона для своих целей.
zygote и app_process: помимо запуска необходимых для работы смартфона служб, динамической загрузки драйверов (с помощью insmod) и определения режима загрузки (например, если телефон подключили выключенным к зарядке — необходимо показать анимацию этой самой зарядки), init.rc запускает две программы, одна из которых необходима для функционирования системы. Первая — это bootanimation, которая проигрывает анимацию включения смартфона и app_process, который в одном из режимов работы превращается в zygote — самый важный процесс для работы Android, который предварительно при старте системы загружает системный Java-байткод, отвечающий за отрисовку интерфейса, проигрывание звука и т. п. из framework.jar и другие системные ресурсы (например темы и изображения), а затем при запуске каждого приложения просто клонирует сам себя (с уже загруженными ресурсами) и начинает выполнение байткода любого запущенного Android-приложения или службы.
Каждое запущенное приложение или служба — это отдельный app_process, в том числе и лаунчер, и Google-сервисы и клиент любого мессенджера.
Всё выглядит просто и логично, не так ли? Подытожив, можно сказать что для того, чтобы система минимально стартовала, нам необходима подходящее ядро для нашего устройства, рабочий init.rc и адекватно запускающийся init.rc. Кроме того, Android зависит от некоторых платформо-специфичных библиотек: в основном, они находятся в /lib/hardware и без них система может не запуститься или что-то может не работать. Особенно осторожно надо подходить к libhardware.so.
Как я уже сказал выше, прошивку мы будем портировать от другого смартфона на том-же чипсете и что забавно — такую же реплику, просто более-раннюю! «Из коробки», мой смартфон работает на Android 2.3, значительно более стабильной, чем изначальный порт 2.2 на эту платформу. Отличий 2.3 от 2.2 достаточно: например, на 2.2 совсем иной цвет шторки, по умолчанию стоит Light-тема, нельзя закрывать уведомления смахиванием и в целом система несколько отличается внешне. Для работы нам нужно будет два образа прошивки: ту, которую будем портировать и та, которая стоковая. Прошивки в смартфонах на платформе Spreadtrum распространяются в формате pac, однако нет никаких проблем подменить образ раздела в ResearchDownload — фирменной утилите для прошивки смартфонов на этом чипсете.
Я решил взять прошивку от FeiTeng N9300 Mini, родная для моего смартфона — M-Horse 9500 Mini. В случае моего девайса, разметка и список разделов между устройствами никак не отличалась, поэтому изначально я напрямую прошил раздел system.img, дабы посмотреть что будет с устройство. Не забывайте, что ядро и init.rc хранится в образе boot.img — поэтому прошивка раздела system безопасна!
❯ Первый запуск
После прошивки чужого раздела system, смартфон стартовал… однако работал несколько странно: во первых, у нас не было сети, во вторых не работал тачскрин (при родном то ядре), а в третьих, Android ни в какую не видел аккумулятор, вися на 0% и моментально отключаясь, если смартфон не стоит на зарядке, а при попытке воткнуть кабель — смартфон показывал индикацию зарядки, но потребление было на нуле.
Поскольку тачскрина у нас нет, root доступ через adb придется включать «ручками» — для этого нам необходимо перепаковать наш родной раздел boot. Для распаковки и запаковки образов, я пользуюсь MtkImgTool — весьма удобная «кухня» для работы. Вытаскиваем boot.img из pac, закидываем в Unpack/Image/ и распаковываем с помощью Boot -> Unpack -> boot.img
В Unpack/boot/ramdisk/default.prop нам необходимо изменить ro.debuggable на 1, а ro.secure на 0. Это даст возможность отлаживать устройство даже если Android фактически не загрузился.
Теперь у нас есть root-консоль устройства, даже если смартфон висит на заставке. Прошиваем обратно образ, пишем adb shell в консоли и смотрим, что же тут не так… Вообще, драйвер тачскрина обычно статически слинкован с ядром, но в случае устройств Spreadtrum — они вынесены в динамические модули ko, которые можно найти в папке /lib/modules/, либо /sps/. Давайте глянем init.sp6820a.init.3rdparty.rc, который отвечает за специфичную для этой модели смартфона инициализацию.
Ага, видим insmod gt868.ko? Это команда загрузки драйвера тачскрина, в нашем случае — это вышеупомянутый GT868. Иногда встречаются другие модели тачскринов, но главное отличие прошивки 2.2 от 2.3 — разные названия папок с драйверами и некоторые службы. Достаём из родного образа драйвер gt868.ko, используя всё тот-же MtkImgTools, распаковывая его как обычный ext2 раздел:
Пишем в консоли устройства:
adb push / gt868.ko
adb shell
insmod /system/lib/modules/gt868.ko
И наслаждаемся тем, что у нас теперь появился тачскрин! Android сам подхватил новое устройство ввода, поскольку драйвер тачскрина — обычное устройство в /dev/input/. Чтобы драйвер грузился при загрузке, его достаточно добавить в init.sp6820a.3rdparty.rc, предварительно закинув в раздел /system/. Перед этим, раздел нужно перемонтировать для возможности записи:
on boot
insmod /system/gt868.ko
adb shell
busybox mount -o remount,rw /system/
mkdir /lib/modules/
exit
adb push gt868.ko /lib/modules/
После модификации rc-скрипта, нужно обратно запаковать boot.img с помощью MtkImgTools и прошить его с помощью ResearchDownload — тачскрин будет работать даже после перезагрузки!
❯ Поднимаем зарядку и сеть
Переходим к отсутствию связи с аккумулятором и нулевым потреблением АКБ. Здесь мне пришлось несколько покопаться и почитать логи ядра с помощью команды dmesg. Я обратил внимание на то, что некая служба пишет что-то об аккумуляторе, но разобраться было несложно: в папке /system/bin я нашёл программу charge, которая, очевидно, отвечает за настройку КП для старта зарядки. Что она точно делает — мне неизвестно, возможно корректирует какие-то значения в sysfs, возможно с помощью ioctl общается с драйвером КП и даёт разрешение на старт зарядки и обновление информации в sysfs. В любом случае, после замены /system/bin/vcharged на оный из родной прошивки, зарядка заработала.
Для этого мы снова перемонтируем /system/ в режим записи и копируем vcharged, не забыв вернуть обратно необходимые права:
adb push charge /system/bin/
adb shell
chmod 777 /system/bin/charge
Перезагружаем устройство и… зарядка с индикацией появилась!
Вроде всё работает на первый взгляд: и звук, и вибро, и Wi-Fi с Bluetooth… однако сети-то нет! Девайс не определял наличие SIM, а вместо IMEI у нас был null/null:
Чтобы её поднять, нам необходимо разобраться в том, как работает подсистема взаимодействия с радиомодулем в Android, которая называется ril — Radio Interface Library. RIL предоставляет API для системы, дабы оперировать не напрямую AT-командами (которые могут быть проприетарными, а на некоторых чипсетах, как, например, Qualcomm вообще отсутствовать), а удобным набором функций — например о запросе статуса радиомодуля, начале звонка, поиска сети и т. п. RIL состоит из сервиса rild в /system/bin/ и библиотеки libril.so, которую можно найти в папке /system/lib/. При запуске системы, TelephonyManager открывает сокет с rild и опрашивает его состояние. Именно из TelephonyManager система берет информацию о силе сигнала, название оператора, IMEI и другие данные.
Путем ковыряния в dmesg я понял, что система флудит из-за невозможности запустить проприетарный сервис Spreadtrum — sprd_monitor. При попытке позвонить в 112, смартфон бесконечно пытается включить радиомодуль. Я ковырялся в UI-части исходного кода Android, дабы понять логику работы, но проблема крылась как раз в упомянутых выше службах sprd_monitor. Берём их из /system/bin/ оригинальной прошивки, закидываем их в устройство, не забыв установить права и отправляем систему в ребут:
adb push engappclient /system/bin/
adb push engmodemclient /system/bin/
adb shell
chmod 777 /system/bin/engappclient
chmod 777 /system/bin/engmodemclient
Ошибки в dmesg пропали, IMEI появился, но устройство до сих пор не хочет никуда звонить и просто висит на экране звонка. В настройках смартфон говорит о том, что уровень сигнала недоступен, а значит, радиомодуль до сих пор не работает :(
Но и мы так просто не сдаемся! Поковыляв по файловой системе, в директории /system/opl/telephony/bin/ я нашел скрипт, отвечающий за инициализацию радиотракта, который вызывает родной 3rdparty.rc! Запускаем sh-скрипт и обнаруживаем, что сеть появилась и девайс дозвонился в 112, а также увидел SIM-карту!
sh init.tel
Теперь всё полностью работает :) Дабы радиотракт запускался при старте устройства, я перенес часть инита из boot.img от прошивки, которую мы портировали. Для кого-то, казалось бы, это всё достаточно сложно и долго. Но у меня ушел всего один день на полную отладку и запуск такой кастомной прошивки на своем устройстве! Можно сказать, это самый базовый и краткий экскурс в такое нелегкое дело, как моддинг Android-устройств.
Но мы ведь это всё не просто так делали! Давайте глянем, как будет работать такой девайс на Android 2.2 в 2024 году — спустя 14 лет после выхода системы. Всё ли так плохо, как кажется?
❯ Знакомимся с девайсом
Думаю, многие читатели вспомнят этот ламповый интерфейс, обои с одуванчиком и лаунчеры а-ля TouchWiz на тех смартфонах, где интерфейс Samsung был не предусмотрен. А эти «бульк»… их сложно забыть!
Конечно, изначально может показаться, что устройство плохо подходит для выполнения современных задач: браузер не способен загрузить большинство страниц, а из альтернатив есть только Opera Mini, где вообще нет динамического контента, а официальные клиенты ВК, WhatsApp и YouTube уже давно не работают. Опечаленный читатель может подумать, что девайс, как и многие его ровесники уже давно превратились в звонилки…
Но это отнюдь не так! Ведь как я уже говорил, я стараюсь своими силами вдохнуть в подобные девайсы новую жизнь, реализуя на них клиенты нужных мне сервисов сам! Да, пусть примитивно и корявенько, далеко не ынтырпрайз-уровень, но эти приложения выполняют свои функции и что, немаловажно, весят очень мало (до 100Кб) и работают крайне шустро! Клиент ВКшечки просто летает, несмотря на то, что фактически реализован только мессенджер с нотификациями и музыка.
Пожалуй, многие читатели удивятся — но на таких девайсах есть YouTube! Мой самопальный клиент не поддерживает стриминг из сети (да и многие девайсы объективно не потянут), поэтому предварительно загружает видео на MicroSD-флэшку и затем уже их воспроизводит. Как приятный бонус — видео потом можно посмотреть в любой момент в галерее.
Я помню насколько было лампово слушать музыку с таких девайсов. И если претензии к основному динамику не очень актуальны, то к качеству звука в наушниках были придирки — звук был громкий, но ему не хватало низких частот, из-за чего он звучал несколько плоско, хотя мне и этого хватало — ведь я слушал музыку в наушниках по 200-300 рублей с рынка! Я всё ещё помню те времена, как качал mp3-треки по 2-3 мегабайта через 2G-интернет… слушаешь один трек — как раз загрузится другой и так по кругу наполнял свою фонотеку. Эх времена то какие были! Тем не менее, для некоторых базовых мультимедийных возможностей девайс подходит и сейчас, например в машину в качестве BT-хоста с музыкой.
А ещё на таких девайсах порой клёво скачать какой-нибудь Temple Run образца 2011 года и вспомнить самое начало смартфонного гейминга тех лет… ведь далеко не все игры того времени запускаются на свежих версиях Android!
❯ Заключение
В остальном же, подобные девайсы отнюдь не бесперспективны! Несмотря на совсем не новое железо, они всё ещё могут выполнять многие задачи, стоит лишь снова запилить необходимые приложения для них! Мессенджеры, соц. сети, музыкальные сервисы и даже просмотр видео — всё это доступно даже для таких, казалось бы, «устаревших» девайсов, когда есть запал энтузиазма и жгучее желание походить именно с этим конкретным устройством как с основным!
Для кого-то это просто проявление синдрома утенка или картинки «вот кому-то делать не.»… ну а для меня — это крайне интересное, захватывающее и кайфовое времяпровождение: начиная от аппаратного ковыряния с такими девайсами и копания исходников ядер/драйверов, заканчивая написанием оптимизированных клиентских приложений, которые весят не 100-200Мб, а 100-200Кб :)
Друзья, если у вас есть подобные китайчики и вы не разделяете желания пытаться вдохнуть в них жизнь, но выбрасывать их жалко — можете задонатить их мне :) Как сами видите — девайсы попадают в хорошие руки. Из недавнего — я взял нерабочую, утопленную китайскую копию 14 Pro Max из под СЦ в качестве основного смартфона. Также у меня есть канал в Telegram, куда я выкладываю бэкстейджи статей, различные заметки о ремонте, моддинге, программировании и реверс-инжиниринге и свои мысли. Кому интересно — залетайте!
Понравилась ли вам статья? Какими были ваши первые Android-смартфоны? Пишите в комментариях, будет интересно почитать!
Суровый моддинг из нулевых: как энтузиасты увеличивали объём ОЗУ в коммуникаторах?
Моддинг девайсов — тема очень широкая и невероятно интересная. При желании, чего только не сделаешь со своим любимым устройством: можно кастомизировать и преобразить интерфейс девайса, портировать свежую версию системы, прошить ядро с разгоном ЦПУ… Однако помимо программного моддинга, существует и аппаратный: умельцы умудряются наращивать объем ОЗУ и постоянной памяти, менять дисплеи на более качественные и даже добавлять поддержку беспроводной зарядки/квикчарджа! Предлагаю вам взглянуть на относительно редкую, дорогую, но такую желаемую в нулевых модификацию: наращивание ОЗУ на КПК аж в два раза! Сегодня мы с вами: узнаем предысторию моддинга телефонов в нулевых, самостоятельно перепаяем чипы ОЗУ на модули большего объёма, а также разберемся в программной стороне этого вопроса. Интересно? Тогда добро пожаловать под кат!
❯ Предыстория
Пожалуй, КПК и коммуникаторы на Windows Mobile можно назвать одними из самых интересных девайсов из середины нулевых годов. Пока подавляющее число пользователей только-только пересело на кнопочные телефоны с цветными дисплеями и поддержкой WAP-интернета, владельцы КПК носили в кармане полноценный компьютер, который мог выполнять многие задачи своего «большого брата». Сёрфинг полноценного Web 2.0 интернета, редактирование и просмотр документов, прослушивание музыки и воспроизведение видео и конечно-же игры — для портативного девайса в середине нулевых это было очень круто!
i-Mate jasjar
Характеристики КПК были практически идентичными на всех устройствах: большинство девайсов работало на базе ARMv5 процессоров Intel PXA 27x с частотой 400-600МГц, Samsung S3C6410 ~400МГц, а также TI OMAP 850 на частоте ~200МГц, оснащались ~64Мб встроенной Flash-памяти и 64-128Мб оперативной памяти SDRAM. Самым ценным ресурсом была оперативная память: большинство устройств на базе PocketPC 2003 так или иначе не могли использовать встроенную Flash-памяти для хранения пользовательских данных. Девайсы с 128Мб ОЗУ ценились гораздо выше более доступных устройств с 64Мб ОЗУ.
Происходило это из-за того, что Flash-память в те годы была слишком медленной, что негативно сказывалось бы на производительности всей системы. Поэтому производители устройств пошли на хитрый шаг: они решили использовать некоторый объём ОЗУ в качестве диска для пользовательских данных, а дабы пользователь не потерял важные ему файлы при, например, замене аккумулятора, они реализовали схему отдельного запитывания модуля обновления DRAM от резервной батарейки.
Динамическая RAM устроена так, что требует процедуру регулярного обновления (термин называется RAM refresh) данных во всей банке памяти в определенные промежутки времени. Упрощенно эта процедура выглядит так: контроллер памяти в чипсете вычитывает информацию из каждой банки, а затем записывает обратно, благодаря чему информация в банке памяти не теряется. Именно для этого контроллеру ОЗУ необходимы настройки таймингов, а также для процесса, именуемый «тренировкой памяти».
Поэтому в Windows Mobile был предусмотрен отдельный «бегунок», отвечающий за объём памяти, выделенный для программ и для пользовательских данных. Хочешь запустить одновременно TouchFlo, Скайп, Аську, PocketIE и гонять в фоне музыку? Готовься переносить фотографии любимого кота на SD-флэшку и тянуть бегунок в сторону программной памяти! По умолчанию, система выделяла около 32Мб памяти под пользовательские данные и остальные 32Мб под программы. Пользователь мог выделить до ~48Мб ОЗУ для программ, чего действительно хватало для параллельной работы нескольких относительно тяжелых программ в фоне!
Однако КПК на «винде» — отнюдь не современные устройства на Android и iOS и сами программы без крайней необходимости из памяти не выгружают. В iOS и Android практикуются «скриншоты» программ, когда в диспетчере задач мы видим сохраненное состояние приложения, но по тапу приложение снова запускается и быстренько восстанавливается из ранее сохраненного состояния. Поэтому, если в устройстве заканчивалась память для программ, уже открытые приложения могли крашиться, а новые не запускаться из-за слишком малого объёма свободной ОЗУ.
Устройства на WinMobile замечательно поддавались моддингу: некоторые энтузиасты портировали более свежие версии системы, другие выпускали собственные сборки системы, подчищенные от ненужных, по их мнению, программ, дабы освободить ещё немного ОЗУ под собственные приложения. Программный моддинг был очень развит: вспомнить только «кухни» — специальные наборы программ для модификации прошивок устройств и целые ветки на форуме 4pda, где обсуждалось добавление нового функционала в девайс. Чего-уж говорить, я сам год назад добавлял поддержку Direct3D Mobile в WM2003 и подкидывал софтварный рендерер от Intel в устройство на OMAP850!
Год назад я за пару дней запилил «тридэ» леталку, использующую D3DM — софтварный рендерер в Windows Mobile.
Однако другое дело — это аппаратный моддинг, связанный с физическим вмешательством в плату устройства. Самым частым модом была замена вечно ломающегося концевого выключателя (маленький рычажок, который прижимает задняя крышка устройства. Без него девайс чаще всего не включался) на обычную перемычку, дабы девайс не подвёл в самые ответственные моменты. Другой мод — перепаковка аккумуляторов для увеличения его ёмкости. Были ещё и другие, специфические модификации — насколько я знаю, на некоторых коммуникаторах Rover радиомодуль частенько «отваливался», а девайс уходил в белый экран. Радиомодуль либо выпаивали, либо грели (а то и перекатывали), дабы он ещё поработал какое-то время. Однако самым редким, дорогим и желанным многими модом было увеличение объёма ОЗУ! Данная процедура довольно простая, однако проводилась чаще всего в мастерских: старые чипы памяти выпаивались, а на их замену припаивались новые, большего объёма. На словах все просто, однако на деле далеко не каждый мог провести такую процедуру дома: необходимо было купить чипы памяти (которые стоили около 500 рублей за один), а сами они были в корпусе BGA и для пайки необходим был паяльный фен (на строительный тоже можно было посадить — но рискованнее) и адекватный флюс для BGA (хотя я слышал истории, как мастера в нулевых сажали чипы «на пузо» чуть ли не на таблетке аспирина).
Как видите, цена на работу в СЦ была не менее 3.000 рублей, время работы — полчаса-час. Теперь вспомните, что в некоторых регионах зарплата была около 6-7 тысяч рублей в месяц… вот так вот :)
Недавно я и сам заинтересовался таким видом моддинга и решил повторить опыт умельцев из нулевых: мне удалось найти НОВЫЕ (не реклама, это единственный магазин где можно купить эти чипы в РФ) чипы памяти в блистере по 100 рублей за штучку. Давайте же проапгрейдим легендарный коммуникатор своих лет — QTek S100 aka O2 Xda Mini II aka MDA Compact!
❯ Апгрейдим
Подобному апгрейду поддаются далеко не все девайсы. К сожалению, фактически проапгрейдить можно устройства только на базе чипсетов Intel PXA, например Asus P525/550, ранние HTC и многие HP iPaq. Устройства на базе Samsung S3C6410 имеют 64Мб ОЗУ прямо на одной подложке с чипом без площадок под дополнительную память на плате, а про устройства на OMAP 850 известно мало: скорее всего, чип не поддерживает возможность использования сразу четырех банок памяти одновременно.
Этого красавца проапгрейдить не выйдет :(
Изначально с завода, на большинстве устройств с чипсетом PXA используется два чипа мобильной SDRAM памяти типа HYB25L256160AC, производства Infineon, в корпусе BGA, по 32Мб каждый. Однако существует 64Мб версия того же чипа с идентичной распиновкой, где в одном чипе расположилось сразу две банки памяти, по 32Мб каждая. По итогу нам остается только сдуть старые чипы с помощью фена, почистить посадочные площадки от остатков старых шаров и установить новые чипы памяти с помощью всё того же фена. Давайте приступим!
Я купил свой QTek S100 два года назад в состоянии «как из помойки», всего за 100 рублей. Без шуток, возможно продавец действительно посещал свалки и потом продавал по дешевке различные интересные девайсы! Лично для меня в этом нет ничего брезгливого: корпус помыть с мылом, плату почистить спиртом и вот — крутейший девайс снова в рабочем состоянии и вполне чистенький :)
Аккумулятора у меня не было вообще и найти донора под перепаковку я даже не надеялся, поэтому запитывал девайс от BL-4C.
Разбираем девайс и видим плату с защитным экраном над процессором и ОЗУ. Сам экран съёмный, выпаивать его не нужно, но дабы аккуратно выпаять чипы памяти и не сдуть обвязку, придётся удалить лезвием «перекладину» на экране.
Выдавливаем под пузо чипов памяти немного флюса для BGA, берём прецизионный пинцет, фен, выставляем небольшой поток воздуха, температуру в 350 попугаев и начинаем выпаивать память по отдельности. Оба чипа сидят на бессвинце, поэтому для того, чтобы чип начал покачиваться, необходимо погреть его некоторое время. Как только чип начал «плавать» при покачиваниях пинцетом, его можно осторожно снимать пинцетом. Если снесли мелочуху, то её можно аккуратно выравнять пинцетом и поставить тем же феном обратно: поверхностное натяжении притянет элемент обратно и он встанет на место ровно, как и должно быть.
Я сначала не думал пилить контент об апгрейде памяти, поэтому фоточка совсем всратая :( Извините
Зачищаем площадку от старых шаров с помощью паяльника на 350гр и оплетки. Впрочем, шары достаточно большие — можно просто покатать шарик припоя и собрать излишки на паяльник, идеально ровно зачищать их не нужно.
Наносим флюс на посадочные площадки, примерно центрируем чип на плате и начинаем греть. Если вы не перелили флюса, благодаря поверхностному натяжению чип сам встанет на место!
Почти по заводу!
Но девайс не увидит всей ОЗУ, если не поставить резистор номиналом ~0.33Ом на линию CS1 - именно она отвечает за выбор второй банки в одном чипе памяти. Можно попробовать и просто перемычку поставить, но я не гарантирую результат.
Но это не весь моддинг на сегодня! Чуть позже я кинул нормальную, красивую перемычку вместо концевого выключателя, а также перепаковал аккумулятор, установив банку от BL-4C. Она, конечно, меньшей емкости, но девайс всё равно с ней держит довольно неплохо. Обратите внимание, что BMS (плату защиты) BL-4C необходимо выпаять: коммуникатор при поиске сети потребляет довольно много, из-за чего BMS BL-4C уходит в защиту.
Включаем девайс и… он работает!
Лучше перепрошить девайс официальной прошивкой: я даунгрейдился еще до замены памяти (до этого стояла прошивка WM6.5 от Cotulla), однако после апгрейда «винда» не всегда загружалась нормально, при том что сама ОЗУ инициализировалась правильно, без каких либо проблем и ребутов. После прошивки всё снова стало нормально. Если хотите накатить кастом — то ставить нужно версию с поддержкой 128Мб ОЗУ.
Обратите внимание, что флэшер вполне честно заявляет о времени обновления в 20 реальных минут времени. В этом вина как USB 1.1, так и медленной флэши.
❯ Программная сторона вопроса
Сейчас мы рассмотрели только физическую часть замены памяти. Но некоторые читатели наверняка спросят, каким же образом коммуникатор определяет всю установленную память, если конфигурация DDR статически слинкована с первичным загрузчиком?
На ПК у нас есть SPD— Serial Presence Detection, специальная небольшая флэш-память, в которой хранится конфигурация чипов и общий объём памяти на планке. В embedded-окружении чаще всего конфигурация контроллера памяти хранится в первичном загрузчике (после BootROM) — известном также как SPL.
Загрузчик HTC на устройствах PXA поддерживает несколько конфигураций ОЗУ — как минимум 64Мб и 128Мб. И судя по всему, на манер BIOS на ранних x86 машинах, загрузчик ещё на этапе тренировки ОЗУ проверяет всё доступное адресное пространство: если доступны «верхние» 64Мб ОЗУ, тогда загрузчик передаёт в Windows CE информацию о том, что установлено 128Мб памяти.
На коммуникаторах Asus, загрузчик патчили для поддержки 128Мб.
Очевидно что без установки второго чипселекта (линии CS1), контроллер DRAM не сможет обратиться ко второй банке памяти в одном чипе, поэтому его установка обязательна. Иначе загрузчик не видит верхние 64Мб ОЗУ и считает, что в устройстве установлено лишь 32Мб.
❯ Каково пользоваться девайсом теперь?
Давайте глянем, как же девайс работает теперь. Пожалуй, сразу стоит упомянуть то, что у девайса изначально были перспективы к увеличению производительности: помимо возможности увеличения ОЗУ, чипсет легко разгоняется до 624МГц с стоковых 412. Очень даже бодрый результат.
Сначала я решил поиграть в классику. AoE замечательно шла и на устройствах с ~32Мб ОЗУ (т.е ранних КПК), очевидно что и на гораздо более шустром девайсе она будет идти очень хорошо. Хороший способ ознакомиться с классикой RTS, кстати!
Переходим сразу к тяжелой артиллерии. Самыми тяжелыми играми для ранних коммуникаторов считались PocketFallout и Heroes Mobile: они кушали довольно большой объём ОЗУ и что-то запустить параллельно с ними было проблематичным. Не менее тяжелой была Quake 1: игра аллокейтит для себя кучу (динамическая память) в 16Мб. Это был уже серьезный удар по свободной ОЗУ на устройствах с 64Мб памяти, QIP и PocketIE уже придется закрыть:
Но будем честны: ради игр можно было закрыть почти все приложения в диспетчере задач. А как насчет повседневных задач? Давайте откроем кучу приложений и узнаем, какое у нас будет потребление ОЗУ и общая производительность системы:
Не хило, да? Коммуникаторы и сейчас подойдут в качестве звонилок с функционалом смартфона, однако приложения под себя придётся допиливать самому. Благо API очень знакомое: в WinMobile и WinCE у нас самый обычный WinAPI, очень схожий с десктопным, а также есть немного урезанный .NET!
❯ Заключение
Вот таким был аппаратный моддинг девайсов в нулевых. Столько всего можно было сделать, имея лишь базовое оборудование! А ведь если включить смекалку, то можно заюзать КПК и в качестве одноплатников: на подавляющем числе девайсов UART без проблем можно получить с разъема для док-станции, а сама шина без проблем доступна из юзерспейса. Постараюсь развить эту тему в одной из будущих статей.
Информации по апгрейду памяти на КПК очень мало (ведь когда-то это был хлеб для СЦ) и сейчас её можно найти исключительно в архивах. Однако чем больше я посещаю паблики посвященные ретро девайсам, профильные каналы в Телеге и форумы по ремонту девайсов, я вижу всё больше упоминаний таких любимых нами наладонников! Поэтому я постарался систематизировать и собрать в кучу всю необходимую информацию для того, чтобы любой читатель мог и сам провести такую операцию в домашних условиях.
Сейчас мы привыкли с вами, что в смартфонах объём ОЗУ зачастую больше, чем в некоторых десктопных машинах. 6, 8, 12Гб — куда дальше!? А ведь когда-то и 128Мб уже было за счастье :)
А какие модификации КПК были у вас и как использовали свой девайс вы? Может вы сами апгрейдили КПК? Пишите в комментариях!
P. S.: Друзья! Время от времени я пишу пост о поиске различных китайских девайсов (подделок, реплик, закосов на айфоны, самсунги, сони, HTC и т. п.) для будущих статей. Однако очень часто читатели пишут «где ж ты был месяц назад, мешок таких выбросил!», поэтому я решил в заключение каждой статьи вставлять объявление о поиске девайсов для контента. Есть желание что-то выкинуть или отправить в чермет? Даже нерабочую «невключайку» или полурабочую? А может, у этих девайсов есть шанс на более интересное существование! Смотрите в соответствующем посте, что я делаю с китайскими подделками на айфоны, самсунги, макбуки и айпады!
Понравился материал? У меня есть канал в Телеге, куда я публикую бэкстейдж со статей, всякие мысли и советы касательно ремонта и программирования под различные девайсы, а также вовремя публикую ссылки на свои новые статьи. 1-2 поста в день, никакого мусора!
Материал подготовлен при поддержке TimeWeb Cloud. Подписывайтесь на меня и @Timeweb.Cloud, дабы не пропускать новые статьи каждую неделю!
Радость от покупки нового дивана. Москва, СССР, 1969 год
Источник - интересный проект, где два историка воссоздают эстетику и атмосферу прошлого столетия.
Поиск КПК на Windows Mobile по "красным ценам". Выживание + обзор
Всем привет, снова) Моя хотелка так и не успокоилась. Цель была выбрана теперь другая - выбрать на авито КПК по лучшему соотношению цена/качество/возможности. Давайте приступим!
Введение
Только посмотрите на цены..... Печально, не правда-ли? Вот и я о том же.
Но не всех людей эти цены могут остановить. Бывают и довольно интересные случаи:
ого, да он просто мажор!
самая дорогая покупка кпк которую мне удалось заскринить
Что же случилось с ценами? Всё очень просто. Люди хотят заработать на коллекционерах в очередной раз) Но у них не всегда получается, некоторые девайсы висят на авито месяцами. И никто цену опускать не собирается. Не только я вижу данную ситуацию, люди не упускают возможность и сметают всё, что хоть немного ниже тысячи рублей:
Итак, данный КПК не имеет Wifi, у него всего 32мб памяти, а джойстик и вовсе отсутствует. В игрушки будет проблематично играть. Собственно, это типичная бюджетка тех времён. К тому же он имеет повреждения по корпусу. Но покупателя это не останавлиает, видимо берут их по какой-то другой причине. Типа "где ты возьмёшь классный КПК за такие деньги?"
Конечно, бывают хорошие варианты и за 1-2к рублей. Но бюджет мой ограничен - 500р максимум. Что же в таком случае делать? А ведь КПК очень хочется!
Но что если посмотреть на авито не в разделе электроника/планшеты, а GPS-навигаторы? Хм, я пробовал. Листал очень долго, в основном видел никому нафиг не нужные кирпичи на windows CE. Вскоре начинают попадаться вот такие объявления:
Оказалось что КПК в отличном состоянии в пределах 500р можно найти
Выглядит здорово. И будет в комплекте даже зарядное устройство и диски с ПО для большого брата: ActiveSync, Руссификатор от Макцентра. Вот это да! Цена была чисто символическая - 400р, которая идеально подойдёт по моему бюджету. Но обьявление висит на авито уже наверное более месяца, а девайс никто не взял. Как так? Это такой же КПК на Windows Mobile, только предназначенный чуть-чуть для других вещей. В основном такая штука нужна для того, чтобы висеть на стекле автомобиля и выполнять роль навигатора.
Ситуация выглядит следующим образом
Оказалось всё очень просто. Люди думают что это обычный китайский навигатор который КПК вовсе не является. А коллекционеров такие вещи вовсе не привлекают и они проходят такие объявления стороной. Что-ж, я воспользуюсь этим)
Начало
Короче, я принял решение. Не важно кто сделал данное устройство, самое главное то, что оно будет работать на Windows Mobile, иметь достаточно большой яркий экран не менее 3.5" дюймов, иметь Wifi и bluetooth, а так же неплохой процессор. Mio MITAC p550 идеально подходит под эти требования, и я, не долго думая, решил его купить:
Как навигатор в 2023 году - не очень, давно появились крутецкие Яндекс карты. Но как КПК такая штука очень даже ничего. Толстый пластик, многопозиционный джойстик, защитное покрытие экрана придают данному девайсу дополнительную надёжноть и уверенность в том, что он прослужит долгие годы. Корпус не покрашен, это естественный цвет пластика. Это значит что Mio p550 всегда будет сохранять свой прекрасный внешний вид.
Итак, вот он у меня в руках:
Чтобы эти клавиши загорелись синим при нажатии, мне надо было установить энергопатч. Хорошо что на форуме 4pda была тема этого устройства.
К WIFI зверёк подключаться не хочет. Оказывается, что он не поддерживает WPA2 шифрование. Что же делать? Интернет по блютуз? Гемморой. Но есть ещё один способ - синхронизация с помощью ActiveSync. В таком случае Get Started CD от производителя нам очень поможет.
Программа не захотела работать на Windows 8.1 Пришло время достать своё древнее зло)
Вот он и поможет нам синхронизировать этого зверька. После установки необходимого ПО программа попросила нас перезагрузиться. За кадром я завершил настройку соединения, после чего большой брат сразу же синхронизирует наш девайс и даёт ему доступ к интернету:
Ура, теперь мы можем лазить в интернет. Ещё можно установить браузер Opera, который будет открывать большинство сайтов, включая 4pda, яндекс, википедия, old-dos, и прочие:
А что там по играм? Всё не так уж и плохо. Кроме портированных игр вроде doom и quake есть игры специально для windows mobile. Вот, например, некоторые из них:
SimCity2000 для Pocket PC
Серии игр Asphalt для КПК
Это то, во что я играл. Игр гораздо больше, мне просто лень перечислять) Ещё есть эмуляторы sega, gba, движка mophun и эмуляторы j2me, такие как Jbed, например. Всё это расширяет библиотеку игр для КПК в разы.
Заключение
Мне нравится Windows Mobile. Замечательная многозадачная операционная система, позволяющая делать пользователю всё что он захочет. Можно менять системные звуки, можно хоть весь интерфейс изменить. Программировать под неё так же довольно просто. Если вы не особо шарите в c++ и win32, существует .net compact framework и VS2008, чтобы программировать на C# или Visual Basic. Так же есть много полезных сторонних программ для этой ОС, которые позволяют редактировать реестр, разнообразить главный экран "Today", добавляя на него виджеты. Есть total commander, Pocket RAR, встроенный Pocket Office, Regedit, и даже софт для управления частотой процессора. В моём девайсе установлен процессор от samsung, SC2440 на 400мгц. С помощью программы ClockWizard я могу понижать и повышать частоту даже выше максимальной. Это называется OverClocking. Вот как это выглядит:
Максимальная частота - 420мгц. При этом батарея садится быстрее. Есть ещё AutoScaling который может автоматически поднимать или опускать частоту в зависимости от требований пользователя. Это пригодится если вы, например, хотите убрать тормоза в 3д играх. Так же не стоит забывать что Windows Mobile работает на ядре от WinCE, а это значит что и приложения от WinCE тоже будут работать на этой ОС. Перетаскивать окошки можно, но практического смысла от этого не будет. Кстати, ещё на физические кнопки можно повесить запуск любой программы или действия:
В общем, вещь очень классная, её можно брать с собой и читать новости или книги, играть в игры, выходить в интернет по блютузу, wifi(если очень постараться), или через usb, кастомизировать операционку, подключать различные переферийные устройства(данный КПК умеет в otg) и многое другое. Главное, чтобы аккумулятора хватило, а он тут не совсем съёмный. Крышка на винтике, прикрыта резиновой заглушкой, а сам аккумулятор на разъёме.
В общем, за такие смешные деньги я купил довольно крутой КПК, который уделывает по техническим параметрам многих конкурентов бюджетного сегмента. Пока что меня всё устравивает, покупкой доволен, и всем рекомендую выбирать КПК от Mio. Ведь они надёжные, прочные, имеют неплохие характеристики и стоят недорого, главное найти.
Всех с наступающим новым годом! Спасибо что прочитали!