Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Игра «История одной фермы» - увлекательное и бросающее вызов вашим серым клеточкам приключение, от которого невозможно оторваться!

История одной фермы - маджонг

Маджонг, Казуальные, Приключения

Играть

Топ прошлой недели

  • Rahlkan Rahlkan 1 пост
  • Tannhauser9 Tannhauser9 4 поста
  • alex.carrier alex.carrier 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

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

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
alfaprojet.ru
alfaprojet.ru
18 часов назад
Серия Электроника и гаджеты

Смартфон Moto G86 Power 5G с процессором Dimensity 7400 и батареей на 6720 мАч выходит 30 июля⁠⁠

Смартфон Moto G86 Power 5G с процессором Dimensity 7400 и батареей на 6720 мАч выходит 30 июля Гаджеты, Электроника, Технологии, Смартфон, Телефон, Моторола, Длиннопост

Источник изображения: Motorola

В конце июля на индийском рынке стартуют продажи нового смартфона Moto G86 Power 5G. Компания Motorola уже несколько месяцев продвигает эту модель в других регионах, но для Индии подготовила особенную версию устройства: здесь смартфон получит более мощный процессор MediaTek Dimensity 7400 вместо Dimensity 7300, который стоит в глобальных модификациях.

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

Смартфон Moto G86 Power 5G с процессором Dimensity 7400 и батареей на 6720 мАч выходит 30 июля Гаджеты, Электроника, Технологии, Смартфон, Телефон, Моторола, Длиннопост

Источник изображения: Motorola

Оперативная и встроенная память, по предварительным данным, соответствуют современным требованиям среднего сегмента. Гаджет получит 8 ГБ оперативной памяти LPDDR4x. Для хранения данных будет доступен выбор между 128 и 256 ГБ ПЗУ, с возможностью увеличения при помощи карты microSD.

Особое внимание в аппарате получило исполнение экрана и система камер. Смартфон оснащён pOLED-дисплеем с разрешением 1.5K и максимальной пиковой яркостью до 4500 нит. Такой параметр встречается нечасто и обеспечивает комфортную работу с изображениями даже на ярком солнце.

Смартфон Moto G86 Power 5G с процессором Dimensity 7400 и батареей на 6720 мАч выходит 30 июля Гаджеты, Электроника, Технологии, Смартфон, Телефон, Моторола, Длиннопост

Источник изображения: Motorola

Производитель сделал акцент на плавности и отзывчивости панели, хотя частота обновления не уточняется. Экран дополнительно защищён стеклом Gorilla Glass 7i, известным своим сопротивлением царапинам и падениям.

Основная камера построена на сенсоре Sony LYTIA 600 с разрешением 50 мегапикселей, поддерживает оптическую стабилизацию изображения и фирменные функции на базе Moto AI. Такой комплекс ориентирован, прежде всего, на любителей мобильной фотографии, которым важно качество съёмки при разном освещении и в динамике.

Смартфон Moto G86 Power 5G с процессором Dimensity 7400 и батареей на 6720 мАч выходит 30 июля Гаджеты, Электроника, Технологии, Смартфон, Телефон, Моторола, Длиннопост

Источник изображения: Motorola

Запас автономности смартфона выделяется и на фоне уже привычных «долгоиграющих» моделей — аппарат имеет батарею ёмкостью 6720 мАч.

Корпус гаджета защищён по трём стандартам: IP68 и IP69 отвечают за устойчивость к пыли, влаге и кратковременному погружению, а MIL‑STD‑810H указывает на ударопрочную конструкцию, прошедшую серию тестов на выносливость.

Смартфон Moto G86 Power 5G с процессором Dimensity 7400 и батареей на 6720 мАч выходит 30 июля Гаджеты, Электроника, Технологии, Смартфон, Телефон, Моторола, Длиннопост

Источник изображения: Motorola

Задняя крышка выполнена из веганской кожи — материал приятный, немаркий и на ощупь более тёплый, чем обычный пластик или металл. Для Индии заявлены три цвета в коллаборации с PANTONE: Cosmic Sky, Golden Cypress и Spellbound.

Ожидается, что новинка для индийского рынка будет поставляться на актуальной версии Android с фирменным интерфейсом Motorola. Производитель также включит в прошивку расширенные функции искусственного интеллекта для съёмки и оптимизации работы устройства.

Более подробная информация о цене и характеристиках появится ближе к началу продаж 30 июля.

Показать полностью 4
Гаджеты Электроника Технологии Смартфон Телефон Моторола Длиннопост
2
257
monobogdan
monobogdan
Посты о ремонте и моддинге ретрогаджетов.
TECHNO BROTHER
2 месяца назад

Немногие знают, но некоторую часть прошивки (в т.ч порт Java-машины) для телефонов Motorola писали русские ребята в R&D Motorola⁠⁠

Частичка России лежит во многих телефонах Motorola: как минимум в C350, E398, RAZR и многих других на платформе P2k. Прошивку не всю пилили в РФ, но немалую часть UI-фреймворка и порт JVM как минимум написали у нас)

Немногие знают, но некоторую часть прошивки (в т.ч порт Java-машины) для телефонов Motorola писали русские ребята в R&D Motorola Телефон, Гаджеты, Моторола, Motorola e398
Немногие знают, но некоторую часть прошивки (в т.ч порт Java-машины) для телефонов Motorola писали русские ребята в R&D Motorola Телефон, Гаджеты, Моторола, Motorola e398
Показать полностью 2
[моё] Телефон Гаджеты Моторола Motorola e398
107
3
unskilid
unskilid
2 месяца назад
Обзоры и рейтинги

Лучшие смартфоны до 70000 рублей по соотношению цена-качество 2025 года⁠⁠

1. Apple iPhone 16e

Лучшие смартфоны до 70000 рублей по соотношению цена-качество 2025 года Обзор, Смартфон, Электроника, Мобильные телефоны, Гаджеты, Samsung, Xiaomi, Моторола, iPhone, Apple, Android, Длиннопост

Купить можно в Яндекс Маркете, на Али

Первое место в рейтинге занимает Apple iPhone 16e. Это мощное и доступное устройство из новой линейки iPhone 16, которое сочетает в себе передовые технологии, стильный дизайн и высокую производительность. Он оснащен 6,1-дюймовым Super Retina XDR OLED-дисплеем, который обеспечивает насыщенные цвета, высокую контрастность и четкость изображения. Благодаря новейшему процессору A18 и 8 ГБ оперативной памяти, смартфон легко справляется с ресурсоемкими задачами, многозадачностью и играми без задержек.

Одним из преимуществ модели является качественный дисплей с высоким разрешением и яркими цветами, что делает просмотр контента на нем приятным и качественным. Также стоит отметить отличную производительность устройства благодаря мощному процессору A18 и 8 ГБ оперативной памяти, что позволяет быстро запускать приложения и игры.

Характеристики

Лучшие смартфоны до 70000 рублей по соотношению цена-качество 2025 года Обзор, Смартфон, Электроника, Мобильные телефоны, Гаджеты, Samsung, Xiaomi, Моторола, iPhone, Apple, Android, Длиннопост

Однако, одним из недостатков данной модели является отсутствие слота для карт памяти, что может ограничить возможности расширения памяти устройства.

Чаще всего в отзывах на эту модель отмечают высокую производительность, качественный дисплей и стильный дизайн.


2. Samsung Galaxy S25

Лучшие смартфоны до 70000 рублей по соотношению цена-качество 2025 года Обзор, Смартфон, Электроника, Мобильные телефоны, Гаджеты, Samsung, Xiaomi, Моторола, iPhone, Apple, Android, Длиннопост

Купить можно в Яндекс Маркете, на Али

Следующая модель нашего топа – Samsung Galaxy S25 5G. Это устройство с изысканным премиальным дизайном, прочной алюминиевой рамкой и захватывающим экраном. Этот смартфон представлен в более компактном и удобном для удержания формате, что делает его идеальным выбором для тех, кто ценит стиль и удобство.

Одним из преимуществ модели Samsung Galaxy S25 5G является классический тип корпуса, который придает устройству элегантный вид. Кроме того, смартфон имеет степень защиты IP68, что обеспечивает надежную защиту от пыли и влаги.

Экран Samsung Galaxy S25 5G имеет диагональ 6.2 дюйма с разрешением Full HD, что обеспечивает четкое и яркое изображение. Частота обновления экрана составляет 120 Гц, что делает просмотр контента на устройстве более плавным и приятным.

Камера смартфона также является одним из его сильных сторон. Смартфон оснащен тремя основными камерами с разрешением 50 МП, что позволяет делать качественные и четкие снимки. Максимальное разрешение видео составляет 7680x4320, что позволяет записывать видео высокого качества. Фронтальная камера имеет разрешение 12 МП, что обеспечивает отличное качество селфи.

Смартфон Samsung Galaxy S25 5G поддерживает стандарты связи 2G, 3G, 4G LTE и 5G, что обеспечивает быструю и стабильную связь. Беспроводные интерфейсы Bluetooth, NFC и Wi-Fi делают устройство еще более удобным в использовании. Поддержка NFC позволяет осуществлять бесконтактные платежи.

Встроенная память смартфона составляет 128 ГБ, а оперативная память – 12 ГБ, что обеспечивает плавную работу устройства и достаточно места для хранения файлов и приложений.

Характеристики

Лучшие смартфоны до 70000 рублей по соотношению цена-качество 2025 года Обзор, Смартфон, Электроника, Мобильные телефоны, Гаджеты, Samsung, Xiaomi, Моторола, iPhone, Apple, Android, Длиннопост

Однако, одним из недостатков модели Samsung Galaxy S25 5G можно назвать отсутствие возможности расширения памяти с помощью карт памяти.

В отзывах на эту модель пользователи отмечают высокое качество камеры, быструю работу процессора и стильный дизайн устройства.


3. HUAWEI Pura 70 Pro

Лучшие смартфоны до 70000 рублей по соотношению цена-качество 2025 года Обзор, Смартфон, Электроника, Мобильные телефоны, Гаджеты, Samsung, Xiaomi, Моторола, iPhone, Apple, Android, Длиннопост

Купить можно в Яндекс Маркете, на Али

Третью позицию в топе заслуженно занимает смартфон HUAWEI Pura 70 Pro. Это современное устройство, которое отличается не только стильным дизайном с лаконичными линиями, но и высокими техническими характеристиками. Основным преимуществом этой модели является качественный 6.8-дюймовый AMOLED-дисплей с разрешением 2844x1260 пикселей, который обеспечивает яркие и четкие изображения. Благодаря LTPO-технологии экран имеет высокую яркость и контрастность, что делает просмотр видео и чтение текстов максимально комфортными.

Оснащенный классическим металлическим корпусом и имеющий степень защиты IP68, смартфон HUAWEI Pura 70 Pro обеспечивает надежную защиту от внешних воздействий. Удобство использования модели обеспечивается не только большим экраном, но и удобными размерами и весом 220 грамм.

Особенности экрана включают в себя высокую частоту обновления в 120 Гц, что обеспечивает плавное отображение контента и удобство при использовании устройства. Камера смартфона HUAWEI Pura 70 Pro также заслуживает внимания, благодаря трем основным камерам с разрешением до 50 МП и различными характеристиками, такими как широкоугольный объектив, ультраширокоугольный объектив и телемакрообъектив. Это позволяет делать качественные фотографии и видео в различных условиях освещенности.

Смартфон поддерживает стандарты связи 2G, 3G, 4G LTE, а также оснащен беспроводными интерфейсами Bluetooth, NFC и Wi-Fi. Процессор Kirin 9010 с 8 ядрами и видеопроцессором Maleoon 910 обеспечивает высокую производительность устройства. Встроенная память 512 ГБ и оперативная память 12 ГБ позволяют хранить большое количество данных и запускать множество приложений одновременно.

Емкость аккумулятора 5050 мА⋅ч обеспечивает длительное время работы устройства без подзарядки. Быстрая зарядка Huawei SuperCharge позволяет заряжать смартфон до 50% за 15 минут, что является удобным и эффективным решением. Другие функции, такие как LTPO-дисплей, аудиоэффекты HUAWEI Histen и разблокировка по лицу, делают использование смартфона еще более удобным и функциональным.

Характеристики

Лучшие смартфоны до 70000 рублей по соотношению цена-качество 2025 года Обзор, Смартфон, Электроника, Мобильные телефоны, Гаджеты, Samsung, Xiaomi, Моторола, iPhone, Apple, Android, Длиннопост

Недостатком модели HUAWEI Pura 70 Pro можно назвать отсутствие слота для карт памяти, что может ограничить возможности расширения памяти устройства. Однако, в целом, данная модель отличается высоким качеством сборки, мощными техническими характеристиками и продуманным дизайном.

В отзывах на смартфон HUAWEI Pura 70 Pro отмечают высокое качество дисплея, камеры и производительность устройства. Пользователи также отмечают удобство использования и стильный внешний вид смартфона.


4. Apple iPhone 15

Лучшие смартфоны до 70000 рублей по соотношению цена-качество 2025 года Обзор, Смартфон, Электроника, Мобильные телефоны, Гаджеты, Samsung, Xiaomi, Моторола, iPhone, Apple, Android, Длиннопост

Купить можно в Яндекс Маркете, на Али

Среди лучших моделей в нашем топе стоит выделить Apple iPhone 15. Новая модель открывает двери в мир передовых технологий и оригинального дизайна. Основным преимуществом этой модели является 6,1-дюймовый OLED-дисплей Super Retina XDR, который обеспечивает яркие и насыщенные цвета, а также невероятное качество изображения даже при ярком солнечном свете.

Новейший процессор A16 Bionic с усовершенствованным Neural Engine обеспечивает молниеносную скорость работы и плавность анимации, позволяя работать, играть и открывать новые горизонты без задержек и тормозов.

Характеристики

Лучшие смартфоны до 70000 рублей по соотношению цена-качество 2025 года Обзор, Смартфон, Электроника, Мобильные телефоны, Гаджеты, Samsung, Xiaomi, Моторола, iPhone, Apple, Android, Длиннопост

Однако, одним из недостатков этой модели является отсутствие слота для карт памяти, что может ограничить возможности расширения памяти.

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


5. HONOR 200 Pro

Лучшие смартфоны до 70000 рублей по соотношению цена-качество 2025 года Обзор, Смартфон, Электроника, Мобильные телефоны, Гаджеты, Samsung, Xiaomi, Моторола, iPhone, Apple, Android, Длиннопост

Купить можно в Яндекс Маркете, на Али

Несомненно, достоин быть включенным в рейтинг смартфон HONOR 200 Pro. Это передовое устройство, которое обладает множеством высокотехнологичных функций. Одним из главных преимуществ этой модели является объем оперативной памяти впечатляющий 12 ГБ. Благодаря этому, модель отличается плавным запуском ресурсоемких игр, программ для редактирования фото и видео, а также одновременным использованием нескольких приложений без задержек и сбоев.

Еще одним значительным преимуществом смартфона HONOR 200 Pro является емкость аккумулятора 5200 мА*ч. Это позволяет устройству работать до 29 часов в режиме разговора без необходимости подзарядки, что делает его идеальным компаньоном для активного образа жизни.

Восьмиядерный процессор обеспечивает высокую производительность устройства, позволяя запускать современные игры, сложные приложения и кодировать видео. Экран с разрешением 2700х1224 Пикс и технологией AMOLED гарантирует четкое и детализированное изображение с высокой контрастностью, что делает просмотр контента на устройстве по-настоящему захватывающим.

Характеристики

Лучшие смартфоны до 70000 рублей по соотношению цена-качество 2025 года Обзор, Смартфон, Электроника, Мобильные телефоны, Гаджеты, Samsung, Xiaomi, Моторола, iPhone, Apple, Android, Длиннопост

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

В отзывах на смартфон HONOR 200 Pro пользователи отмечают его высокую производительность, долгое время работы без подзарядки, качественный экран и мощный процессор.


6. Tecno Phantom V Flip2

Лучшие смартфоны до 70000 рублей по соотношению цена-качество 2025 года Обзор, Смартфон, Электроника, Мобильные телефоны, Гаджеты, Samsung, Xiaomi, Моторола, iPhone, Apple, Android, Длиннопост

Купить можно в Яндекс Маркете, на Али

Продолжает наш топ лидеров – Tecno Phantom V Flip2. Это современный смартфон с операционной системой Android версии 14. Модель оснащена двумя слотами для nano SIM-карт и поддерживает работу в сетях 5G, 4G (LTE), 3G и 2G. Одним из преимуществ этого устройства является наличие поддержки NFC, что обеспечивает удобство при бесконтактных платежах и передаче данных.

Экран имеет диагональ 6.9 дюйма с разрешением 2640x1080 пикселей. AMOLED-дисплей с технологией Corning Gorilla Glass Victus 2 обеспечивает четкое и яркое изображение. Безрамочный дизайн придает устройству современный вид. Дополнительный гибкий экран диагональю 3.64 дюйма позволяет удобно управлять устройством и получать уведомления.

В основе Tecno Phantom V Flip2 лежит процессор MediaTek Dimensity 8020 с восьмиядерной архитектурой и частотой до 2600 МГц. Видеопроцессор ARM Mali-G77 обеспечивает плавную работу графики. 8 Гб оперативной памяти и 256 Гб встроенной памяти позволяют запускать множество приложений и хранить большое количество данных.

Основная камера состоит из двух модулей: 50/50 Мп. Оптическая стабилизация изображения и 10-кратное цифровое увеличение обеспечивают качественные снимки. Фронтальная камера разрешением 32 Мп позволяет делать отличные селфи. Видеосъемка осуществляется в качестве 1080p Full HD с возможностью замедленной съемки.

Аудииосистема представлена двумя динамиками с поддержкой Hi-Res Audio и технологией DTS, что обеспечивает качественное звучание при прослушивании музыки и просмотре видео. Устройство оснащено разъемом USB Type-C для подключения к компьютеру и зарядки.

Характеристики

Лучшие смартфоны до 70000 рублей по соотношению цена-качество 2025 года Обзор, Смартфон, Электроника, Мобильные телефоны, Гаджеты, Samsung, Xiaomi, Моторола, iPhone, Apple, Android, Длиннопост

Среди дополнительных характеристик Tecno Phantom V Flip2 стоит выделить наличие сканера отпечатка пальца, распознавание лица и множество датчиков: G-сенсор, гироскоп, датчик освещенности, датчик приближения, датчик Холла, геомагнитный датчик, датчик отпечатков пальцев. Модель выполнена в корпусе из алюминия, имеет зеленый цвет и складной дизайн с возможностью фиксации угла открытия и изменения угла открытия.

В отзывах на Tecno Phantom V Flip2 отмечают высокую производительность, качественные фотографии и удобство использования гибкого дисплея. Однако, некоторые пользователи указывают на относительно невысокое качество видеозаписи при съемке в движении.


7. POCO F6 Pro

Лучшие смартфоны до 70000 рублей по соотношению цена-качество 2025 года Обзор, Смартфон, Электроника, Мобильные телефоны, Гаджеты, Samsung, Xiaomi, Моторола, iPhone, Apple, Android, Длиннопост

Купить можно в Яндекс Маркете, на Али

Очередную строчку в рейтинге занимает смартфон POCO F6 Pro. Это устройство с высокими техническими характеристиками, которые делают его одним из лучших на рынке. Особенностью этой модели является AMOLED-экран с высокой пиковой яркостью 4000 нит и дисплеем Pro HDR, что обеспечивает потрясающее качество изображения с яркими деталями и высоким контрастом.

Процессор Snapdragon 8 Gen 2 с 4-нм техпроцессом и восьмиядерной архитектурой обеспечивает отличную производительность даже при высоких нагрузках.

Одним из преимуществ модели POCO F6 Pro является качественная камера с тремя основными модулями: 50 МП основная камера, 8 МП сверхширокоугольная камера и 2 МП макро-камера.

Характеристики

Лучшие смартфоны до 70000 рублей по соотношению цена-качество 2025 года Обзор, Смартфон, Электроника, Мобильные телефоны, Гаджеты, Samsung, Xiaomi, Моторола, iPhone, Apple, Android, Длиннопост

Это позволяет делать качественные фотографии и видео в различных условиях освещенности. Недостатком данной модели можно назвать отсутствие слота для карт памяти, что может ограничить возможности расширения памяти устройства.

Пользователи чаще всего отмечают в отзывах высокую производительность и качество дисплея у смартфона POCO F6 Pro. Также положительно отзываются о качестве съемки камеры и быстрой зарядке аккумулятора.


8. Motorola Razr 50 Ultra

Лучшие смартфоны до 70000 рублей по соотношению цена-качество 2025 года Обзор, Смартфон, Электроника, Мобильные телефоны, Гаджеты, Samsung, Xiaomi, Моторола, iPhone, Apple, Android, Длиннопост

Купить можно в Яндекс Маркете, на Али

Особого упоминания в нашем топе заслуживает Motorola Razr 50 Ultra. Это современный смартфон, который сочетает в себе передовые технологии и стильный дизайн. Он обладает внушительным объемом оперативной и встроенной памяти – 12 Гб и 512 Гб соответственно, что позволяет хранить большое количество приложений и данных без необходимости постоянного освобождения места.

Один из ярких аспектов Motorola Razr 50 Ultra – это его элегантный корпус в темно-синем цвете, который придает устройству изысканный вид. Такой дизайн подойдет как мужчинам, так и женщинам, и легко дополнит любой стиль владельца.

Смартфон поддерживает все актуальные стандарты связи, включая 5G, что обеспечивает быструю передачу данных и стабильное интернет-соединение. Благодаря мощному аккумулятору устройства, модель отличается продолжительным временем работы без необходимости частой подзарядки.

Motorola Razr 50 Ultra оснащен 6.9-дюймовым дисплеем с разрешением 413 PPI, что обеспечивает четкое и яркое отображение контента. Процессор Qualcomm SM8635 Snapdragon 8s Gen 3 (4 nm) обеспечивает плавную и быструю работу устройства.

Смартфон поддерживает Dual SIM – nano SIM + eSIM, что удобно для использования нескольких номеров. Также в устройстве предусмотрена поддержка NFC для бесконтактных платежей и других функций.

Характеристики

Лучшие смартфоны до 70000 рублей по соотношению цена-качество 2025 года Обзор, Смартфон, Электроника, Мобильные телефоны, Гаджеты, Samsung, Xiaomi, Моторола, iPhone, Apple, Android, Длиннопост

Одним из недостатков модели может быть относительно высокий вес – 188 грамм, что может быть несколько ощутимо при длительном использовании.

В отзывах на Motorola Razr 50 Ultra отмечают его стильный дизайн, мощную производительность и долгое время работы без подзарядки.

Показать полностью 15
Обзор Смартфон Электроника Мобильные телефоны Гаджеты Samsung Xiaomi Моторола iPhone Apple Android Длиннопост
2
1246
monobogdan
monobogdan
Посты о ремонте и моддинге ретрогаджетов.
TECHNO BROTHER
2 месяца назад

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции⁠⁠

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Нет, это не шутка и не кликбейт. Такое действительно возможно - правда через небольшой хак.

Недавно я задался вопросом: а возможно ли написать для ARM нативную программу, которая будет бесшовно работать сразу на 4-х операционных системах без необходимости перекомпиляции для разных платформ и ABI. Мне очень хотелось реализовать возможность писать кроссплатформенные эльфы для мобильных телефонов из нулевых и попытаться портировать на них эмуляторы ретро-консолей. Погрузившись в документацию на исполняемые форматы, я пришёл к выводу, что да - это возможно и смог реализовать такую программу на практике без читерства по типу VM! Всех гиков приглашаю под кат!

❯ Зачем и почему?

Давным-давно, в далёком 2001 году, мир увидел легендарный японский телефон - Sony CMD-J70. Ещё до создания совместного подразделения с Ericsson, Sony выпускала достаточно занимательные девайсы, которые привлекали внимание не только рядовых пользователей, но и моддеров всех мастей. Уже через пару лет после выхода, в программном плане телефон копали все кому не лень: кто-то менял графику, кто-то писал патчи, а со временем написали даже бинлоадер (PRGLoader) - загрузчик внешних "экзешников", позволявший запускать на телефоне произвольный софт, написанный на ассемблере!

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Сейчас сложно себе представить, но в те годы это был нереальный отвал башки: на большинстве телефонов были доступны разве что Java/Mophun-приложения, которые обладали ограниченным функционалом и уж тем более не позволяли лезть в дебри прошивки телефона, а здесь были программы которые буквально позволяли делать с телефоном всё что захочешь: светомузыку из подсветки, кастомные игры, обои на главный экран... всё это было доступно только на куда более дорогих смартфонах с Symbian и Windows Mobile на борту!

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Недавно мы с вами вспоминали о легендарном Siemens M55 и узнали, что у него находится под капотом. Несмотря на диковинную архитектуру Infineon C166, даже под этот телефон делались патчи и была написана как минимум одна кастомная игра. Но рассвет моддинг-сцены Siemens произошёл с выходом платформы S-Gold на базе стандартного ядра ARM926EJ-S, когда в ~2004 году энтузиасты полностью взломали алгоритм генерации BootKEY для загрузчика, а затем в 2006 году реализовали полноценный эльфлоадер, который позволял загружать программы написанные на C и скомпилированные самым обычным компилятором ADS. В отличии от бинлоадера для CMD-J70, "эльфятник" позволял угонять функции RTOS для создания потоков и привносил в бюджетные телефоны полноценную вытесняющую многозадачность с настоящим диспетчером задач и возможностью запуска несколько программ одновременно:

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Единицы читателей поймут, что происходит на данной фотографии...

Энтузиасты раскапывали прошивку в дизассемблере, изучали её и пытались понять как работают разные её подсистемы. Результатом стало появление нативного клиента почты с предком пуш-уведомлений, аськи (NatICQ), порты самых разных эмуляторов ретро-консолей и даже полная программная поддержка MP3 в тех телефонах, где её отродясь не было! И представьте себе, почти все эти программы можно было свернуть и продолжить работу в браузере или, например, Card Explorer'е! Одним из эльфописателей был Хабровчанин @ilya_ZX

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Но если вы думаете что одними телефонами Siemens энтузиасты были едины, то вы ошибаетесь - ведь круче были только "моторолки"! В 2004-году, недорогая Motorola E398 с двумя громкими динамиками, светомузыкой и поддержкой MicroSD-флэшек, стала настоящим бестселлером и привлекла к себе не меньше энтузиастов, чем Siemens. Ребята сплотились на форуме MotoFan, нашли уязвимость в загрузчике и хакнули верификацию RSA-подписи у прошивок, позволив не только модифицировать Seem'ы (что-то типа NVRAM), но и создавать для телефона кастомные прошивки - монстрпаки, которые прибавляли громкость и без того не самым тихим динамикам и в различных аспектах изменяли главное меню устройства. Со временем, @Andy51 и ещё несколько энтузиастов реализовали эльфлоадер (EP1) для E398, раскопали прошивку и написали много полезного софта, время от времени переключаясь на Linux-телефоны от Motorola...

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Вероятно многие читатели подумают мол "было и было, мой айфон/сяоми может запускать любой произвольный софт и эти ухищрения давным-давно неактуальны...". Но как бы не так: про моторолки и сименсы не просто всё чаще вспоминают, у них есть до сих пор активное моддерское коммьюнити, которое продолжает пилить для них кастомный софт и далее колупать прошивку. Всё тот же @EXL портировал крутой софтрендер для E398 и в 2025 году наконец-то взломал C350, @Azq2 пилит аппаратный эмулятор Infineon S-Gold и многие другие делают свой вклад в моддинг сцену уже не таких мейнстримных, но отнюдь не устаревших устройств!

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Однако порог вхождения для написания эльфов достаточно высокий: нет никакой отладки кроме printf, любая ошибка в приложении приводит к зависанию или ребуту телефона (на сименсах с характерным "пик"), а API напрямую импортируется из прошивки телефона и может быть достаточно комплексным - ни о каких кроссплатформенных эльфах и речи не идет. Поэтому в какой-то момент мне стало интересно: а возможно ли написать такой эльфлоадер, который за своим рантаймом будет прятать детали реализации работы с аппаратной начинкой телефона и при этом загружать один и тот же бинарник на всех поддерживаемых платформах без особых патчей и изменений? Принявшись за изучение ABI ARM и спецификации Elf, я начал дизассемблировать и изучать самые маленькие тестовые программы...

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

❯ Формат ELF, ABI ARM и тулчейн

Начнём с самого простого: что же такое эти самые эльфы? Elf - формат исполняемых файлов, широко применяемый как в мире Unix-систем, так и в embedded-устройствах. Самые распространенные тулчейны - GCC и clang/llvm, по умолчанию собирают программы именно в этом формате и по своей сути, это прямой аналог .exe (PE) файлов из Windows. Помимо кода, Elf также содержит в себе множество секций и различных данных, при этом разработчики формата старались сделать его настолько гибким, чтобы его можно было использовать на любых архитектурах: от x86, до risc-v.

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Каждая программа состоит из так называемых секций - участков кода, данных и метаданных, необходимых для её загрузки в память. Среди секций простой программы можно выделить как минимум четыре основных:

.text - хранит в себе код программы и обычно записывается в память с флагами MMU R X (чтение и выполнение)

.data - преинициализированные данные, имеет флаги R W (чтение и запись). Например, заполненная структура в C:

int a[] = { 1, 2, 3 };

.bss - не инициализированные данные, иными словами глобальные переменные, которые при старте программы должны быть забиты нулями. Имеет те же флаги, что и .data.

.rodata - различные константы: строковые, const-преинициализированные массивы, а также структуры и т.п, имеет только флаг R и на системах с MMU попытка запись в эту секцию повлечет SIGSEGV.

За загрузку всех этих секций отвечает загрузчик Elf в ядре ОС. Однако это справедливо только для простых программ, которые загружаются в фиксированный адрес виртуальной памяти и которые не используют внешние библиотеки (.so, аналог в Windows - .dll). Поскольку адрес загрузки для всех библиотек предсказать невозможно, разработчики ABI придумали позиционно-независимый код (PIC и его производное - PIE), который может загружаться в любую область памяти и оттуда выполняться.

Реализация PIC может достигаться тремя разными способами:

  • Первый способ заключается в использовании глобальной таблицы смещений (GOT) и релокаций. Релокации - специальные данные в Elf, которые позволяют переместить программу в другой адрес путём патчинга адресов в секции .got "на лету": иными словами, сам код (.text) остаётся позиционно-независимым (дабы библиотеку можно было загрузить один раз и использовать во множестве процессов) и обращается к GOT относительно PC, но в самом GOT (который представляет из себя массив void* addresses[]) указатели на остальные сегменты находятся так, будто программа загружается по смещению 0x0. Задача динамического линкера - посчитать абсолютный адрес для всех указателей в GOT: в простейшем случае, это got[address] += baseAddress.
    Релокации могут затрагивать сразу literal pools в обход GOT, если архитектура предусматривает их наличие.

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост
  • Релокацией занимается динамический линкер или интерпретатор в мире Unix (тот самый ld.so, что часто "not found" :) ), а самих релокаций есть много разных видов в зависимости от архитектуры процессора. В ARM чаще всего встречается R_ARM_REL32

  • Второй способ заключается в том, что мы компилируем программу так, будто она должна загружаться по фиксированному адресу 0x0 - то есть без PIC, однако просим линкер (--emit-relocs) создать информацию о всех обращениях к памяти в виде всё тех же релокаций. Вместо R_ARM_REL32, линкер создаёт релокации R_ARM_ABS32, которые можно разрешить обычным сложением.
    С таким подходом количество релокаций кратно увеличивается, однако из-за отсутствия GOT немного повышается быстродействие программы (вместо трёх LDR для загрузки слова из памяти нужно всего два: из Literal pool в регистр и затем из фактической памяти).

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Пример релокаций для эмулятора NES

Третий способ поддерживается не везде, но в ARM он является одним из самых распространенных в embedded-среде: код собирается с флагами /rwpi и /ropi полностью не зависит ни от GOT, ни имеет каких либо релокаций. Вместо этого, для адресации базового адреса программы он использует выделенный регистр R9, который загрузчик должен заполнить адресом, куда он загрузил программу (mov r9, textSectionBase). Такой подход теоретически чуточку быстрее, чем GOT, но медленнее второго подхода из-за необходимости добавлять сложение регистра с PC перед каждым фетчем из памяти.

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Поскольку в телефонах MMU обычно не используется, эльфлоадеры загружают программы по тому адресу, что им выделяет системный аллокатор памяти и вынуждены использовать PIC. Чаще всего используются релокации (как минимум на Siemens и Motorola), на некоторых платформах используется второй подход с использованием регистра R9.

Для большей гибкости, я решил выбрать второй подход и построить свой эльфлоадер поверх уже существующих загрузчиков, обернув API прошивок в ряд собственных стандартизированных функций: работа с дисплеем, вводом, файлами, а также звуком. При этом эльфы должны собираться современным компилятором clang с поддержкой C99, чтобы была возможность легко портировать современные single-header программы по типу эмуляторов, да и в целом не писать код на манер Ansi C, когда переменную нигде нельзя объявить кроме начала блока.

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Далее я сутками игрался с компиляторами и пытался заставить выдать их подходящий для моих целей код и по итогу написал скрипт для линкера, который для простоты загрузки файла объединяет все секции в один .text (таким образом остаётся всего один Program Header):

OUTPUT_FORMAT("elf32-littlearm")
SECTIONS
{
. = 0x0;
.text : {
*(.r9ptr)
*(.text*)
*(.data*)
*(.bss*)
*(.rodata*)
*(.functions)
}

.rel : {
*(.rel*)
}

/DISCARD/ : {
*(.ARM.*)
}

}

И следующий набор опций для компилятора, который устанавливает архитектуру и целевой процессор, ABI для FPU, включает генерацию релокаций и отключает выравнивание в линкере для выходного файла (иначе файлы забиты нулями и весят целых 64Кб:

CLANGFLAGS = -mno-unaligned-access -O3 -ffast-math -ffixed-r9 -T ld.script -target armv5e-none-eabi -nostartfiles -fno-exceptions -fno-rtti -mfloat-abi=soft -I$(ELFROOT) -Ilibnesemu/
LDDFLAGS = -Wl,-zmax-page-size=1,--emit-relocs

Когда компилятор наконец-то начал выдавать корректный код, я принялся писать сам эльфлоадер. За качество кода и отсутствие нормальной структуры не ругайте - это эмбеддед, тут можно ;))

На входе лоадеру поступает адрес загруженного в память эльфа и его длина. Задача эльфятника - верифицировать заголовок и убедится что он собран с подходящими параметрами:

// Read and verify ELF header
Elf32_Ehdr* hdr = (Elf32_Ehdr*)data;

PRINT("Loading ELF...");
if(hdr->e_machine != EM_ARM)
{
PRINT("Not an EM_ARM executable");

return 0;
}

if(hdr->e_ident[EI_DATA] != PLATFORM_ELF_ENDIANESS)
{
PRINT("Endianess mismatch");

return 0; // Wrong endianess
}

Проанализировать таблицу заголовков с служебной информацией о том, что находится по тому или иному смещению в файле: загружаемая секция, таблица символов или строк, а затем загрузить все секции в участок памяти, который нам выдал аллокатор. На MMU-системах адрес должен быть выровнен по размеру страницы, иначе система не даст выдать страницам флаг EXEC!

ret = (ExecInfo*)ExecAlloc(sizeof(ExecInfo));

sections = (Elf32_Phdr*)(&data[hdr->e_phoff]);
sh = (Elf32_Shdr*)&data[hdr->e_shoff];
symSectionIndex = hdr->e_shstrndx;
codeSize = 0x0;

PRINT("Processing program headers");
// Process program headers and determine total size
for(i = 0; i < hdr->e_phnum; i++) {
Elf32_Phdr hdr = sections[i];

if(hdr.p_type == PT_LOAD) {
if(hdr.p_offset == 0x0)
continue;

codeSize += hdr.p_memsz;
}
}

PRINT("Allocating memory for .text");

textSection = (char*)ExecAlloc(codeSize);
textOffset = textSection;

ret->CodeSection = textSection;

if(!textSection)
{
free(ret);
PRINT("Failed to allocate .text section");

return 0;
}

Далее найти секцию с таблицей символов и с строками, где содержатся имена символов:

PRINT("Analyzing section table");
for(i = 0; i < hdr->e_shnum; i++)
{
Elf32_Shdr sec = sh[i];

if(sec.sh_type == SHT_STRTAB && i != hdr->e_shstrndx && strTable == 0)
{
strTable = &data[sec.sh_offset];
PRINT("Found string table");
}

if(sec.sh_type == SHT_SYMTAB)
{
PRINT("Found symbol table");
symbols = (Elf32_Sym*)&data[sec.sh_offset];
symNum = sec.sh_size / sizeof(Elf32_Sym);
}

if(sec.sh_type == SHT_REL && relocs == 0)
{
UtilPrint("Found relocations");
relocs = (Elf32_Rel*)&data[sec.sh_offset];
relNum = sec.sh_size / sizeof(Elf32_Rel);
}

if(sec.sh_type == SHT_RELA)
{
PRINT("Found unsupported relocation types");
return 0;
}
}

if(!strTable || !symbols)
{
free(ret);
PRINT(".strtab or .symtab not found");

return 0;
}

А затем найти функцию ElfMain, которая служит точкой входа и пропатчить таблицу импортированных функций! На этом, загрузка эльфа завершена - можно устанавливать регистр R9 и вызывать Main!

PRINT("Relocation fix-up");
for(i = 0; i < relNum; i++)
{
Elf32_Rel rel = relocs[i];
int sym = ELF32_R_SYM(rel.r_info);

switch(ELF32_R_TYPE(rel.r_info))
{
case R_ARM_ABS32:
*((unsigned int*)&textSection[rel.r_offset]) += (unsigned int)textSection;
break;
case R_ARM_JUMP24:
break;
case R_ARM_CALL:
break;
default:
PRINT("Unsupported relocation type");
}
}

PRINT("Patching import table");

// Analyze symbol table and patch all imported function pointers to real counterparts
for(i = 0; i < symNum; i++)
{
Elf32_Sym sym = symbols[i];
uint8_t* symName = &strTable[sym.st_name];

int symType = ELF32_ST_TYPE(sym.st_info);

if(symType == STT_OBJECT && strstr((const char*)symName, "SYS_"))
{
int funcNumber = ExecFindFunction(symName);

if(funcNumber == -1)
{
PRINT("Failed to import function: ");
UtilPrint((char*)symName);
PRINT("");

continue;
}

//drawDebug(FuncExportTable[funcNumber].Pointer == 0 ? "Not OK" : "OK");

*((unsigned int*)&textSection[sym.st_value]) = (unsigned int)FuncExportTable[funcNumber].Pointer;
}

if(symType == STT_FUNC && strstr((const char*)symName, "ElfMain"))
{
PRINT("ElfMain function is found");

ret->Main = (ExecMainFunction)&textSection[sym.st_value];
}

В Elf уже есть механизм импорта функций из сторонних библиотек, называется Platform Linkage Table. Для импорта функций прошивки, эльфлоадер Siemens использует SWI (сисколлы, что-то типа программных прерываний в x86 - int 10h и т.п.), Motorola же патчит thunk-функции на лету, которые сами вызывают настоящую функцию:

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

А я решил поступить несколько изящнее. В моем эльфятнике, функции импортируются с помощью специального макроса, который создаёт переменную-указатель на функцию, который изначально располагается в секции .functions. При этом с помощью ключевого слова asm, символу присваивается иное имя - с префиксом SYS_, которое означает то, что загрузчик эльфа должен пропатчить адреса функций на реальные (которые предварительно зарегистрированы в рантайме) в процессе загрузки программ и таким образом, избежать thunk-функций и позволить оптимизатору легко выкидывать указатели на неиспользуемые функции:

#ifndef LOADER
#define IMPORT(name, ret, ...) __attribute__ ((section(".functions"))) ret (* name )( __VA_ARGS__ ) asm( "SYS_" #name )
#define IMPORTNOARGS(name, ret) __attribute__ ((section(".functions"))) ret (* name )() asm( "SYS_" #name )
#else
#define IMPORT(name, ret, ...) ret name( __VA_ARGS__ )
#define IMPORTNOARGS(name, ret) ret name()
#endif

Что самое забавное, лучший способ отладить эльфлоадер - в QEMU с GDB под Linux. Однако я решил время не терять и отлаживал его сразу на смартфоне с Windows Mobile. А раз WM стал первой поддерживаемой платформой - на нем мы с вами и реализуем рантайм.

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

❯ Портируем на Windows Mobile (CE)

Поскольку всю жизнь я сижу в основном на Windows, а WinAPI в CE практически полностью копирует десктопную версию, никаких проблем с портированием рантайма не возникло. Единственный выбор который передо мной встал: стоит ли прокидывать stdlib из хост-системы в "эльфятник", или же воспользоваться реализацией newlib в clang/gcc. В процессе портирования на другие платформы выяснилось, что нормально libc реализован, по сути, только на Windows, во все остальных реализациях были лишь самые основные функции по типу malloc, free, memcpy, strcmp и т.п. Поэтому я решил не городить велосипеды и прокинул из хост-системы лишь аллокатор - т.е malloc и free:

// stdlib
IMPORT(elf_malloc, void*, int size);
IMPORT(elf_free, void, void* ptr);
/*IMPORT(elf_strcmp, int, char* str1, char* str2);
IMPORT(elf_strcpy, char*, char* dst, char* src);
IMPORT(elf_strlen, int, char* str);
IMPORT(elf_strstr, char*, char* string, char* substring);
IMPORTNOARGS(elf_rand, int);
IMPORT(elf_memcpy, void*, void* dst, const void* src, uint32_t length);
IMPORT(elf_memset, void*, void* dst, int what, uint32_t length);
IMPORT(elf_memmove, void*, void* dst, void* src, uint32_t length);*/

Далее я сразу решил, что платформозависимые функции для работы с дисплеем использовать не буду и из хост-системы мне нужен будет лишь указатель на фреймбуфер, а блиттинг, рисование текста и прочие операции я реализую сам. На первый взгляд может показаться что это единственное верное решение, однако на практике в некоторых телефонах (Motorola E398, Razr V3) активно использовались 2D GPU от ATI и Nvidia, которые рисуют (BitBLT) изображение значительно быстрее любой программной реализации.

Ниже представлена черновая реализация без преобразования пиксельформатов (поскольку на подавляющем числе телефонов использовался 565) и поддержки прозрачности через колоркей. Её можно оптимизировать до быстрого копирования по сканлайнам через memcpy:

for(i = 0; i < bitmap->Height; i++)
{
for(j = 0; j < bitmap->Width; j++)
{
LCD_PLOT_565(clamp(x + j, 0, lcd->Width), clamp(y + i, 0, lcd->Height), bmp[i * bitmap->Width + j]);
}
}

С точки зрения отрисовки текста, нативные функции платформ тоже предоставляют крутые фичи по типу сглаживания, поддержки не-моноширинных шрифтов, множества кодировок, а также различные типы выравнивания. Но здесь встаёт вопрос с портативностью таких решений: разные рендеры шрифтов оперируют по разному и не все из них используют в качестве системы координат пиксели. Соответственно, я пошёл по олдовому "эмбеддерскому" пути и сделал обычные битмапные шрифты, которые (пока) статически слинкованы с самим эльфятником.

__inline int LcdDrawChar(LcdInfo* lcd, char chr, uint32_t x, uint32_t y, uint16_t color)
{
if(x >= 0 && y >= 0 && x + FONT_WIDTH < lcd->Width && y + FONT_HEIGHT < lcd->Height)
{
int i, j;
unsigned char* glyph = &embedded_font[chr * 8];

for(i = 0; i < FONT_HEIGHT; i++)
{
short* fb = &((short*)lcd->Pixels)[(y + i) * lcd->Width + x];

for(j = 0; j < FONT_WIDTH; j++)
{
if((*glyph >> (FONT_WIDTH - j)) & 0x1)
*fb = color;

fb++;
}

glyph++;
}

return true;
}

return false;
}

void LcdDrawString(LcdInfo* lcd, char* str, uint32_t x, uint32_t y, uint16_t color)
{
SWITCH_CONTEXT;
if(lcd && x >= 0 && y >= 0)
{
unsigned int i;

for(i = 0; i < strlen(str); i++)
{
if(!LcdDrawChar(lcd, str[i], x, y, color))
return; // Out of screen

x += FONT_WIDTH;
}
}
END_CONTEXT;
}

Отладив эльфлоадер, я написал небольшую тестовую программу для вывода картинки и текста:

#include <system.h>

int ElfMain(void* ptr)
{
LcdInfo* lcd = lcdInit();

lcdDrawBitmap(lcd, bitmap, 0, 0);
lcdDrawString(lcd, "Test", 0, 0, COLOR_BLUE)

return 100;
}

И получил следующий результат:

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

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

❯ Портируем на MRP/MRE

И имя этой платформе, вернее даже двумя платформам - MRP и WRE. Эти платформы использовались на бюджетных китайских телефонах с 2007 по 2016 год. Встретить их можно было везде: легендарная Nokla TV E71/E72, клоны 6700, бюджетные телефоны Fly/Explay/DEXP и даже в оригинальных телефонах Nokia на платформе S30+ (например 230)!

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Легендарная "нокла"!

И хотя люди часто считали такие устройства бесполезными в плане установки сторонних приложений, многие ранние "нонейм"-телефоны поддерживали запуск нативных программ через небольшой костыль - установку специального "загрузчика" dsm_gm.mrp и ввод комбинации *#220807# в номеронабиратель. Конечно, знали об этом костыле единицы и в 2010 году MediaTek решила сделать свою платформу под названием MRE (MAUI Runtime Environment), приложения для которой можно было запускать прямо из проводника без установки! SDK для обеих платформ сейчас свободно лежит в сети.

Обе платформы, по сути, занимаются тем же самым, что и мой эльфятник - прокидывают нативные функции MMI (оболочка телефона) в приложения и для загрузки позиционно-независимых программ используют третий подход с регистром R9, который обязательно необходимо где-то хранить и восстанавливать. Изначально мой эльфятник использовал такой же подход, из-за чего я написал отдельный костыль для "свичнга" контекстов, причем восстановление R9 я делал в отдельной функции из-за бага ассемблера в ADS:

#define SWITCH_CONTEXT unsigned int staticBase; __asm { MOV staticBase, sb;
LDR r0, [sb];
MOV sb, r0 }

#define ELF_CONTEXT(ptr) unsigned int staticBase; void* elfStaticBase = ptr; __asm { MOV staticBase, sb; \
MOV r9, elfStaticBase }

#define END_CONTEXT RestoreSB(staticBase);

Но я не учел то, что MMI хоть и построены по event-based принципу, в них нельзя так просто взять и сделать while(true) {}, а необходимо использовать таймеры, что влечет за собой постоянные костыли с свичингом контекстов что по итогу только снижает производительность. По итогу я перешел на релокации и реализовал проброс таймеров.

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

Никаких отладчиков, программа что-то записала не туда? Ребут и сиди, отлаживай с printf!

Во всем остальном, MRP и MRE простые как табуретка, никаких проблем с пробросом ввода и графики не возникло:

LcdInfo* LcdInit()
{
LcdInfo* ret;
ret = (LcdInfo*)malloc(sizeof(LcdInfo));
ret->Width = screenInfo.width;
ret->Height = screenInfo.height;
ret->Pixels = (void*)w_getScreenBuffer();

return ret;
}

void LcdFree()
{

}

void LcdLock(LcdInfo* info)
{

}

void LcdFlush(LcdInfo* info)
{
mrc_refreshScreen(0, 0, 240, 320);
}

И вот, наша программа уже запускается на двух совершенно разных ОС без каких либо проблем!

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

❯ А если что-то посложнее Hello, world?

Наверняка у читателя возникнет вопрос мол "окей, твой эльфятник может и способен запускать простые программы, но как насчет чего-то посложнее?". И конечно-же, для тестов я решил портировать не абы что, а целый эмулятор NES! В конце-концов, одна из целей разработки такого эльфятника - возможность запускать Java-игр и эмуляторов на многих кнопочных телефонах из нулевых.

Какое то время назад, я обнаружил весьма шустрый эмулятор NES от неизвестного разработчика из Китая. Код был неважного качества, никаких копирайтов в нём не было. Но поскольку сам эмулятор был быстрый (быстрее, наверное, только vNesC, который является прямым source-портом Java-эмулятора vNes на C), я отвязал его от целевой платформы и превратил в небольшую библиотеку для легкого портирования на любые платформы путем вызова всего нескольких функций:

typedef struct {
uint16_t* FrameBuffer;
uint8_t* JoyState;
} emuContext;

emuContext* emuInitialize();
uint8_t emuLoadROM(void* rom, int length);
void emuReset();
void emuDoFrame();
void emuShutdown();

И, соответственно, базовый порт на наш эльфятник выглядит примерно так:

#include <string.h>

#define FUNC_PROTOTYPES
#include <system.h>

#include <nes.h>
#include "nes_rom.h"

emu_context* ctx;
LcdInfo* lcdInfo;

void EmuTick()
{
emuDoFrame();

LcdLock(lcdInfo);
short* pixels = (short*)lcdInfo->Pixels;

for(int i = 0; i < EMU_FRAMEBUFFER_HEIGHT; i++)
{
memcpy(&pixels[i * lcdInfo->Width], &ctx->FrameBuffer[i * EMU_FRAMEBUFFER_WIDTH], lcdInfo->Width * 2);
}

LcdFlush(lcdInfo);

}

void EmuSetupTimer()
{
TimerAttach(1, EmuTick); // As fast as possible
}

void EmuSetupRegularLoop()
{
while(true)
EmuTick(); // TODO: If elfloader port will be usable on Android, add FPS limit :)
}

int ElfMain(unsigned int* basePtr, void* test)
{
lcdInfo = LcdInit();

ctx = emuInitialize();
if(!emuLoadROM(nes_rom, sizeof(nes_rom)))
{
UtilPrint("Failed to load ROM");
return 100;
}

emuReset();

switch(GetMainLoopType())
{
case PLATFORM_LOOP_MMI_TIMER:
EmuSetupTimer();
break;
case PLATFORM_LOOP_REGULAR:
EmuSetupRegularLoop();
break;
}

return 100;
}

А вот и результат:

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост
Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост
Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

❯ Заключение

Вот так и можно написать программу, которая бесшовно работает на трёх разных операционных системах, которые не имеют ничего общего друг с другом! На первый взгляд всё это кажется сложным, однако на практике очень просто и интересно! Нужно лишь взять дизассемблер в зубы и немножечко изучить то, что выдаёт компилятор.

А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram-канал «Клуб фанатов балдежа», куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты и щитпостю. А ролики (не всегда дублирующие статью) можно найти на моём YouTube канале.

Очень важно! Разыскиваются девайсы для будущих статей!

Друзья! Если вам понравилась сегодняшняя статья про разработку эльфов, то спешу объявить: для подготовки будущих материалов с разработкой самопальных игрушек под необычные устройства, объявляется розыск телефонов и консолей! В 2000-х годах, китайцы часто делали дешевые телефоны с игровым уклоном — обычно у них было подобие геймпада (джойстика) или хотя бы две кнопки с верхней части устройства, выполняющие функцию A/B, а также предустановлены эмуляторы NES/Sega. Фишка в том, что на таких телефонах можно выполнять нативный код и портировать на них новые эмуляторы, чем я сейчас занимаюсь, а затем написать об этом подробную статью и записать видео! Если у вас есть телефон подобного формата и вы готовы его задонатить или продать, пожалуйста напишите мне в Telegram (@monobogdan) или в комментарии. Также интересуют смартфоны-консоли на Android (на рынке РФ точно была Func Much-01), там будет контент чуточку другого формата :)

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост

А также я ищу старые (2010-2014) подделки на брендовые смартфоны Samsung, Apple и т. п. Они зачастую работают на весьма интересных чипсетах и поддаются хорошему моддингу, парочку статей уже вышло, но у меня ещё есть идеи по их моддингу! Также может у кого-то остались самые первые смартфоны Xiaomi (серии Mi), Meizu (ещё на Exynos) или телефоны на Linux (например Motorola EM30, RAZR V8, ROKR Z6, ROKR E2, ROKR E5, ZINE ZN5 и т. п., о них я хотел бы подготовить специальную статью и видео т. к. на самом деле они работали на очень мощных для своих лет процессорах, поддавались серьезному моддингу и были способны запустить даже Quake!). Всем большое спасибо за донаты!

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост
Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции Смартфон, Телефон, Покупка, Гаджеты, Программирование, Моддинг, Эльфы, Linux, Unix, Операционная система, Реверс-инжиниринг, Siemens, Моторола, Ностальгия, Длиннопост
Показать полностью 25
[моё] Смартфон Телефон Покупка Гаджеты Программирование Моддинг Эльфы Linux Unix Операционная система Реверс-инжиниринг Siemens Моторола Ностальгия Длиннопост
135
buldozer333
buldozer333
2 месяца назад
TECHNO BROTHER

Трек с моторолой⁠⁠

Моторола Музыка Видео YouTube
3
3
Slakers
3 месяца назад

Телевизор MOTOROLA показывает JFK⁠⁠

Телевизор MOTOROLA показывает JFK
Моторола Джон Кеннеди Прошлое
2
10
DELETED
DELETED
3 месяца назад

Телефоны легенда детства 2000х⁠⁠

Всем привет с вами ARTOMI44 Retro mobile сегодня будет про телефоны в детстве в 2000х

Телефоны легенда детства 2000х Sony Ericsson, Nokia, Samsung, Моторола, Siemens, Длиннопост

Nokia 3310 (2000 год)

Примитивной игры «Snake» («змейка»), ядовито-зелёной подсветки и набора монофонических рингтонов было достаточно для счастья. А запаса добротности и «толстого» техпроцесса комплектующих — для беспроблемной работы годы напролет. Вспомните об этом, когда на вашем смартфоны «поплывёт» или «выгорит» сегмент дисплея или износится внутренний накопитель.

И даже никаких сертификатов ударопрочности/водостойкости у Nokia 3310 не было. И не нужно было — телефон оказался настолько прочным, что «продавал сам себя»! Да ещё и стоил недорого, поэтому Nokia продали свыше сотни миллионов таких трубок, а о надёжности этой модели легенды (и краш-тесты) ходят до сих пор.

Телефоны легенда детства 2000х Sony Ericsson, Nokia, Samsung, Моторола, Siemens, Длиннопост

Siemens ME45

Siemens ME45 (2001 год)

Компактный, супер-прочный, водостойкий, быстрый, отчаянно любимый в народе мобильник по прозвищу «Мессер». Навороченный, как и все Сименсы, и заметно более дешёвый в сравнении с флагманскими моделями. А главное — первый в своём роде защищённый смартфон без яркой «требухи» и дизайна под вкусы студентов. Серьёзная модель для серьёзных

людей, что, впрочем, не мешало любителям апгрейдить (тогда ещё не без помощи программатора) «Мессер» прошивкой от более престижного Siemens S45.

Огромная записная книжка, диктофон с продолжительностью записи аж до трёх минут (чего вы смеётесь? Бывало и хуже), поддержка GPRS и ИК-порт для модемно-компьютерных нужд. Универсальное орудие любителей навороченных и при этом прочных телефонов. А ещё не стоит забывать об одном из первых телефонов MP3-плееров с поддержкой карты памяти — Siemens SL45!

Телефоны легенда детства 2000х Sony Ericsson, Nokia, Samsung, Моторола, Siemens, Длиннопост

Sony Ericsson T68i (2002 год)

Почему? Ну, например, потому, что это был один из первых на Земле мобильников с цветным экраном и «полным фаршем» по состоянию на 2002 год. Наличие Bluetooth, ИК-порта, поддержка MMS, возможность ваять свои, пусть и монофонические, мелодии. Компактный корпус и новаторский по тем временам джойстик вместо клавиш-стрелочек (потом пользователи Sony Ericsson этот джойстик проклянут, но это уж потом).

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

Сегодня о том, что мобильники Sony проектировались совместно с «каким-то там» Ericsson, почти никто и не вспомнит. А ведь именно благодаря совместному со шведами концерну знаменитый производитель «видаков и теликов» стал популярен на мобильном рынке. T68i стал одной из причин такого успеха

Samsung C100 (2003)

В далёком 2003 году Samsung была на мобильном рынке чем-то сродни нынешнему HTC — то есть, язык не повернётся сказать, что компания не умеет производить качественные телефоны, но «выстреливают» из них явно не все и не всегда.

Но Samsung сделал модель, которая «выстрелила» — сверхтонкая (сейчас будете смеяться — 17 мм), пафосная, крутая и относительно доступная трубка с индексом C100 превратила Samsung из «выскочки» в компанию с «полифонически-цветасто-экранным» имиджем.

Телефоны легенда детства 2000х Sony Ericsson, Nokia, Samsung, Моторола, Siemens, Длиннопост

Samsung C100

Потому что да — дисплей на базе UFB-матрицы был ярче и круче, чем CSTN и TFT TN у конкурентов, а 40-голосная полифония пела просто на уровне «супер-люкс» в сравнении с тусклыми напевами в Nokia или Siemens. А ещё C100 был абсолютно «безглючным» и стабильным, что в моделях с навороченной мультимедиа-составляющей того времени было редкостью.

Телефоны легенда детства 2000х Sony Ericsson, Nokia, Samsung, Моторола, Siemens, Длиннопост

Motorola MPx200

Motorola MPx200

Характеристики смартфонов-мото были неплохими, но не сногсшибательными — процессор ARM OMAP 710 с частотой 120 МГц и 32 Мбайт ОЗУ (для Windows — средняя величина), но даже при такой начинке MPx200 был гораздо ближе к нашему смартфонному настоящему, чем другие модели по такой же цене. Поэтому на старую Моторолу продолжали портировать новые версии Windows (почти как с нынешними ведроидами, да?) даже спустя годы после того, как производитель перестал поддерживать её новыми версиями ПО.

Siemens SX1 (2003 год)

Поймите правильно — мы даже и не пытаемся оспорить первенство и величие Nokia в производстве Symbian-смартфонов, но моделей с четырёхзначными индексами была тьма, и не понятно, почему «котлету» Nokia 6600 нужно отметить, а первопроходца, 7650, бюджетный 3650 или игровую N-Gage, нет. Случались у Nokia за «двухтысячные» и более яркие модели, а вот «сЫЧ» такой один — первый и последний Symbian-смартфон Siemens.

Телефоны легенда детства 2000х Sony Ericsson, Nokia, Samsung, Моторола, Siemens, Длиннопост

Siemens SX1

Потому что: «взрослая» по качеству и возможностям фотокамера, поддержка всех мыслимых аудиоформатов, быстрый и стабильный ИК-порт, очень крутая и производительная Java-машина, которая умела работать в фоне (очень пригождалось для того, чтобы держать там «аську») и сохранять данные во внутренней памяти (полезно для игр и Opera Mini). Отличная модель для повседневной эксплуатации, долговечность которой портил только чёртов, будь он проклят, джойстик (хорошо, больше не буду о нём вспоминать).

Телефоны легенда детства 2000х Sony Ericsson, Nokia, Samsung, Моторола, Siemens, Длиннопост

Sony Ericsson K500i

Потому что: «взрослая» по качеству и возможностям фотокамера, поддержка всех мыслимых аудиоформатов, быстрый и стабильный ИК-порт, очень крутая и производительная Java-машина, которая умела работать в фоне (очень пригождалось для того, чтобы держать там «аську») и сохранять данные во внутренней памяти (полезно для игр и Opera Mini). Отличная модель для повседневной эксплуатации, долговечность которой портил только чёртов, будь он проклят, джойстик (хорошо, больше не буду о нём вспоминать).

Siemens M65 (2004 год)

Знаете что? Я тоже душой болел и болею за «фаблет» того времени — Siemens CX65, но коль уж мы ограничены в количестве смартфонов для сегодняшней статьи, стоит упомянуть «танк» под индексом M65. Корпус с металлической рамой, устойчивый к ударам, попаданию воды и пыли, огромный и яркий по меркам 2004 года дисплей, громкий динамик, ИК-порт без ограничений на тип передаваемых файлов (а то бывали подлянки у этих ваших нокий и самсунгов…), возможность тюнинговать прошивку «эльфами» — исполняемыми файлами наподобие «ведроидного» Xposed, только лучше… Да много чего можно было сотворить с этим телефоном в программном плане. Кроме нормальной поддержки файлов MP3, разве что.

Телефоны легенда детства 2000х Sony Ericsson, Nokia, Samsung, Моторола, Siemens, Длиннопост

Siemens M65

Motorola E398 (2004 год)

Motorola начала двухтысячных раздражала покупателей вечно «тормозным» меню и не очень-то стабильными прошивками, да и по качеству съёмки на первые в мобильниках камеры не блистала. Зато в Мото были «фишки», которые хваленые Nokia, Siemens и Sony Ericsson были неспособны предложить ни до, ни после выхода знаковых моделей «большой М».

Телефоны легенда детства 2000х Sony Ericsson, Nokia, Samsung, Моторола, Siemens, Длиннопост

Motorola E398

Одной из таких была Motorola E398 — «бумбокс в кармане». Телефон с мощными стереодинамиками, который сотрясали корпус на максимальной громкости, доступной ценой и поддержкой новых карт памяти типа microSD.  Потом на основе E398 Apple даже решила создать «недоайфон» — ROKR E1 с поддержкой Apple iTunes, но это уже отдельная, грустная история.

Motorola RAZR V3 (2004 год)

Ну и, чтобы два раза не вставать, самый очевидный в этой статье телефон — «бритва». Эталон дизайна мобильников, самая стильная «раскладушка» всех времён, «секс-символ» мобильной индустрии — да как хотите его называйте, но этот металлический телефон будоражил, будоражит и будет будоражить (до сих пор с Алиэкспресса гребут) разум всех, кто любит необычные и стильные «звонилки».

Motorola RAZR V3

Даже сама Моторола не ожидала, что RAZR настолько «выстрелит» — разработчикам было не привыкать создавать эффектные модели с необычной внешностью. Но в случае с V3 создателям удалось упаковать все «вкусности»  современных моделей (два цветных дисплея, поддержку современных «фишек», от MMS до MP3 и GPRS) в приемлемую для большинства покупателей цену. Нет, RAZR не был дешёвым, но и не стоил на уровне витающих в облаках флагманов.

Телефоны легенда детства 2000х Sony Ericsson, Nokia, Samsung, Моторола, Siemens, Длиннопост

Motorola RAZR V3

Вопреки дефициту памяти (10 Мбайт), медлительности, плохой автономности, короткому ходу клавиш мобильник стал хитом — настолько хитом, что со дня выхода V3 Моторола продолжала выпускать «рестайлинги» нашумевшего смартфона и производить телефоны-моноблоки SLVR, эксплуатируя один и тот же дизайн, пока «внезапно» эпоха смартфонов похоронила всю компанию почти на корню. О том, что произошло с Moto дальше

Nokia N70 (2005 год)

*пролистав список из всех Symbian-смартфонов*. А, бог с ними — предлагаю вспомнить добрым словом Nokia N70 — модель-олицетворение роскоши и достатка Symbian-смартфонов. Когда архаичные модели на базе Symbian 6.x окончательно ушли в прошлое, а разухабистая гвардия моделей на базе новой S60 3rd (а вы помните, как весело было взламывать сертификаты на ваших старых Симбианфонах?) ещё не появилась на свет, N70 была идеальным «бюргерским» смартфоном.

Телефоны легенда детства 2000х Sony Ericsson, Nokia, Samsung, Моторола, Siemens, Длиннопост

Nokia N70

Наконец-то с «тоннами» оперативной памяти (старая проблема Symbian), хорошим звуком, мощным процессором, качественной камерой, практически без недостатков. Потом, когда Nokia стала плодить Symbian-модели в огромном количестве, на свет появились и «калькуляторного» дизайна E71, и смартфон-суперкамера N90, и «мобильный компьютер» Nokia N95 (и гвардия её подделок), но, пожалуй, именно начиная с N70 Симбиан-смартфоны обзавелись по-настоящему актуальным железом и с тех пор просто наращивали «мускулы» в избыточную сторону да улучшали качество дисплеев и камер.

Sony Ericsson M600i (2006 год)

Да-да, я решил вспомнить о «коммуникаторах с человеческим лицом» — сенсорных Symbian UIQ, которая самолично развивали Sony Ericsson. С академической точки зрения начать следовало бы с 2002 года и выхода SE P800, но если уж быть реалистами, то с самого своего появления P-серия была неистово дорогой, приложения от Symbian S60 нельзя было установить на менее массовые «сониэрики», а бизнес-аудитория давно и плотно использовала Windows-коммуникаторы, о которых в этой статье подробно рассказывать не хочется — утонем в их количестве и характерных особенностях.

Sony Ericsson M600i

Так вот — M600 стал первым мало-мальски «народным» коммуникатором под управлением Symbian UIQ. Без откидной крышки с клавиатурой, зато с клавишами «двойного назначения» при вводе текста, со смартфонной наружностью и фирменным колесиком JogDial (о-о-о, это старая история, которая пошла ещё со времён «чистокровных» мобильников Sony). Эту модель выбирали те, кому до чёртиков надоели смартфоны Nokia и не приглянулись редкие смартфоны Samsung — корейцы тогда хватались за всё подряд и выпускали хорошие модели, но все они были «пресными», «без души», и поэтому популярностью почти не пользовались.

Телефоны легенда детства 2000х Sony Ericsson, Nokia, Samsung, Моторола, Siemens, Длиннопост

Sony Ericsson M600i

Правда, M600 был «глючным», популярность и без того нишевой системы шла на убыль, а ещё в этой модели не было тыловой камеры — традиции, понимаете ли, телефонов корпоративной направленности. В итоге звезда альтернативного варианта Symbian угасла раньше, чем на свет появился айфон и его многочисленные «убийцы». Очень жаль.

Телефоны легенда детства 2000х Sony Ericsson, Nokia, Samsung, Моторола, Siemens, Длиннопост

Nokia 8800

Nokia 8800 (2005 год)

«Шестисотый мерседес» среди мобильных телефонов, главный антисмартфон и живое доказательство, что вызывать симпатию у энтузиастов и не разбирающихся в технике людей может одна и та же модель. Разумеется, до 8800 у Nokia было немало других имиджевых моделей (например, старая 8910), но только эта модель стала именем нарицательным, брендом в себе, так сказать.

В 2005 году символом качества был стальной корпус (не эти кастрюли, что в ваших китайфонах, а качественно другой корпус), автодоводчик для раскрытия корпуса и привычное сегодня «не царапающееся» стекло поверх дисплея. Аппаратная начинка — наполовину хорошая, наполовину смехотворная. Всего лишь 64 мегабайт (мегабайт!!!) встроенной памяти и тоскливая уже в те времена 0,3-мегапиксельная камера, зато супер-красивые рингтоны (их создавали по заказу в сотрудничестве с знаменитым японским композитором) и качественный дисплей с достойным для такой диагонали разрешением 208x208 пикселей.

Sony Ericsson K790i (2006 год)

Критиковать Sony за их своенравие спустя годы — беспроигрышное занятие. Но именно упрямство японской компании поспособствовало выпуску мобильников, в которых все функции были доведены до абсолюта. От топорного, но уже интересного функционально K700 компания перешла к супер-хиту K750i и его Walkman-клону W800i, а затем, пока Motorola упивалась дизайном своих RAZR, а Nokia штамповала «пресные» Symbian-смартфоны, Sony Ericsson выпустили «памятник» быстрым и качественным «просто мобильникам». А заодно и фотофлагман своего времени.

Телефоны легенда детства 2000х Sony Ericsson, Nokia, Samsung, Моторола, Siemens, Длиннопост

Sony Ericsson K790i

Sony достали из кармана привычный по фирменным фотоаппаратам-«мыльницам» бренд Cybershot, сделали тыловую панель мобильника похожей на ту, что в фотокамерах, не поскупились на качественный сенсор и довели быстродействие операционной системы и Java-приложений (да, J2ME уже понемногу «умирала», и всё же) до самого высокого уровня. Прибавим к этом традиционно качественный звук в Sony-телефонах, и получаем почти идеальный аппарат для тех, кому хватало одного быстрого мессенджера в фоне и не перегруженного хитроумной операционной системой мобильника для повседневного использования. Безусловно, от любви с первого взгляда всегда помогает второй взгляд, и попади сегодня к нам в руки K790i, он бы вряд ли впечатлил нас, как в момент своего дебюта, но сама идея качественного, быстрого, всесторонне развитого не-смартфона давно канула в Лету. И вы все знаете, кто в этом виноват…

Телефоны легенда детства 2000х Sony Ericsson, Nokia, Samsung, Моторола, Siemens, Длиннопост

sony ericsson k810i

Показать полностью 15
Sony Ericsson Nokia Samsung Моторола Siemens Длиннопост
8
2
stomillionov
stomillionov
3 месяца назад

Motorola ещё существует?⁠⁠

Motorola ещё существует? Моторола, Смартфон
Показать полностью 1
Моторола Смартфон
9
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии