Кто в 2024 году пользуется телефоном
Нокия? Сколько нас? И за что вы любите его?
Нокия? Сколько нас? И за что вы любите его?
Ситуация следующая.
Имеется старенький смартфон нокия. Используется редко, не выкинут в силу того, что нужен был на приём звонков.
Так вот. Проблема в том, что перестают работать провода зарядки. Именно провода. Покупаешь новый провод, он две недели исправено заряжает и всё. Перестаёт заряжать любой гаджет с любой "вилки".
Покупаешь новый шнурок, зарядка идет. Две недели и п..ц шнурку. И так уже 4 раза подряд.
Вот зе фак?
Друзья! А вы помните такие мобильные телефоны, как Siemens? Когда-то у всемирно известного консорциума, занимающегося выпуском различного силового оборудования и поездов, было собственное мобильное подразделение, которое успешно конкурировало в конце 90х и начале 2000х. Многие мои читатели «постарше» наверняка вспомнят, а то и сами владели такими легендарными моделями, как Siemens SL45, ME45, C55, C65, S65, S75! Но немногие знают, что в своё время эти девайсы были сродни полноценным Symbian-смартфонам Nokia, или даже современным Android-девайсам с разблокированным загрузчиком: энтузиасты быстро смогли разобраться в алгоритме генерации ключей для загрузчика и начать делать патчи, которые фактически превращали «тормозной» телефон в почти настоящий смартфон с полноценной многозадачностью! Недавно мне подарили целых три телефона Siemens, которые носят статус культовых: Siemens C65, Siemens C75 и Siemens S75! Два девайса из трёх были в замечательном состоянии, но имели некоторые проблемы в аппаратной части. В сегодняшнем ностальгическом материале, мы с вами: вспомним о том, какие телефоны делали Siemens в своё время и на каких аппаратных платформах они работали, продиагностируем, проведем аппаратный ремонт и составим список самых частых болячек устройств на платформе S-Gold, рассчитаем ключи для загрузчика, пропатчим, накатим эльфпак и посмотрим, какой же была моддинг-сцена телефонов в нулевых! Интересно? Тогда бегом разворачивать статью!
Пожалуй, ни одно видео или статья с ностальгией по мобильным телефонам из нулевых не обходится без упоминания телефонов от компании Siemens. Немецкие девайсы были инновационными и прорывными во многих аспектах. Например, инженеры Siemens стали первопроходцами, добавив возможность прослушивания MP3 на телефоне, поддержку карт памяти MMC (предок MicroSD, полностью совместимый с ним на программном уровне) и установки полноценных Java-приложений в легендарный SL45, вышедший аж в 2000 году. Нельзя также не упомянуть первый телефон с цветным дисплеем и предусмотрительность инженеров Siemens с точки зрения разъёма для аксессуаров — вряд ли вы видели ещё один телефон с возможностью «горячей» установки внешней камеры прямо в порт для синхронизации!
Но особый статус телефоны Siemens получили на территории СНГ — их девайсы одновременно обожали и злостно ругали. И ведь было за что их любить: у Siemens был особый подход к дизайну телефонов с чётким разделением целевой аудитории устройства, не похожий ни на Nokia, ни на Sony Ericsson, а прошивка в этих девайсах хоть и была достаточно тормознутой и местами не совсем логичной, но тем не менее, её визуальная часть была сделана с явной любовью художников к делу. Каждый девайс по своему отличался от своих собратьев. Вот, вспомните молодежного маскота Siemens, пацанёнка в очках:
Из набора стикеров в Telegram.
Критика в основном заключалась в очень сырых и тормозных первых версиях прошивок (однако компания активно выпускала обновления и пользователь мог спокойно перепрошить телефон в домашних условиях без похода в СЦ), слишком сильном урезании C-серии (например, в С75 невозможно было установить флэшку, а встроенной памяти было мало для мультимедийного телефона) и отсутствии поддержки MP3 на поздних устройствах. Но тем не менее, «сименсам» всё равно было что предложить простым пользователям в мультимедийном плане. А со временем, потянулись и энтузиасты…
Телефоны Siemens были построены на двух аппаратных платформах разработки родственной компании Infineon (ранее эта компания была полупроводниковым подразделением Siemens и занималась разработкой микропроцессоров): первая платформа называлась E-Gold и состояла из микропроцессора с архитектурой C166, работающего на частоте от ~13МГц (SL45) до ~52МГц (S55), GSM-радиотракта и контроллера питания Dialog (на некоторых телефонах использовался Twigo, по каким-то причинам несовместимый с «диалогом»). Её мы могли встретить во множестве устройств A-серии (бюджетники), S и C серии до 6x, а также некоторых устройствах серии SL. Второй платформой была легендарная и многообещающая S-Gold, которая использовалась в устройствах 65'ой и 75'ой серии. Эта платформа была построена на базе ядра ARM926EJ-S, работающего на частоте ~104-208МГц (с возможность разгона), GSM-радиотракта с поддержкой GPRS и EDGE, а также всё того-же контроллера питания Dialog. В своё время устройства на базе S-Gold получили небывалый интерес среди энтузиастов, которые относительно быстро разобрались в алгоритме расчёта ключей для загрузчика и получили возможность применять специальные врезки ресурсов или кода в оригинальную прошивку устройства, называемые патчами. В сегодняшнем материале мы рассмотрим устройства именно на платформе S-Gold!
Со временем, патчи стали неотъемлемой частью «прошаренного» сообщества Siemens, которое в основном тусовалось на форуме siemens-club. Десятки людей активно ковыряли различные версии прошивок под разные девайсы, добавляя новый функционал или меняли визуальную составляющую устройства: какие-то патчи просто «перекрашивали» индикаторы, или, например, меняли шрифт устройства, другие отключали надоедливую кнопку выхода в интернет (которая сжирала огромные денюжки для среднестатистического школяра или студента тех лет), добавляли возможность альтернативного управления, переназначая вечно ломучий джойстик C65 на кнопки клавиатуры, а то и добавляли довольно точную A-GPS навигацию по карте вышек оператора (!) и поддержку нескольких (!!) E-Sim (!!!) в 2004-2005 году!
Пожалуй, многие читатели отнесутся со скепсисом к E-Sim в 2005 году. Но такая возможность была, хоть и не совсем в современном и удобном виде.
Дело в том, что у каждой SIM-карты, помимо публично доступного для телефона идентификатора IMSI, существует ещё идентификатор Ki, который возможно расшифровать только используя алгоритмы БС оператора. Однако в те годы, алгоритмы криптографии в «симках» были проще и с помощью специального софта была возможность «сбрутить» (взломать методом перебора) Ki за несколько часов.
Патч, предположительно, работал довольно просто: он подменял Ki и IMSI на те, которые уже были предварительно посчитаны и заставлял baseband часть прошивки заново искать сеть. По итогу мы работали уже с другой SIM-картой :)
Не стоит забывать о различных патчах, связанных с Java-машиной: были ускорители Java-приложений, расширители хипа и тому подобное, позволяющие играть в Java-игры с большим комфортом.
Высшей точкой развития моддинг-сцены на телефонах Siemens стало появление эльфлоадера и эльфпака — возможности запуска нативных программ, написанных на C с полноценной многозадачностью и возможность переключаться между несколькими приложениями! Фактически, это превращало простой мультимедийный телефон в смартфон, который мог выполнять довольно широкий круг задач! Чего уж говорить, одними из самых популярных эльфов были клиенты электронной почты, аськи, плееры с поддержкой mp3 (они, кстати, с дикими хаками — поскольку PCM-часть сименсов толком не отреверсили, эльф просто налету конвертировал mp3 в wav (т. е. тот же PCM) и скармливал в родной плеер :)). Такая свобода действий позволяла, например, портировать на телефон эмулятор NES или SEGA и играть в них на долгих и скучных парах. Для владельцев обычных кнопочников (но не смартфонов на WM2003 for Smartphones) это было шиком и роскошью.
Стоит упомянуть также проект моего друга, с которым мы довольно давно знакомы — @Azq2, который вообще умудрился портировать на него Linux, причём полноценный, а не ucLinux (который не требует MMU и в целом попроще своего десктопного аналога).
Со временем подтянулись и фанаты других производителей мобильных телефонов — Motorola и Sony Ericsson. Сначала появились «моторы» — на мотофане с большим трудом смогли справиться с RSA-подписью и шифрованием прошивок (об этом может подробнее рассказать один из активных админов мотофана — @EXL. По его словам, не обошлось без утечек дебаг-инфы прошивки), но всё же нашли тестпоинт, изучили утекшую информацию и написали свой эльфлоадер, который работает на E398, E1, Razr V3/V3i и некоторых других аппаратах. Сонерики подтянулись позже всех, а вот на Nokia S40 почему-то никто особо и не пытался ничего сделать. Возможно дело в RPL-сертификатах и жёсткой политике Nokia относительно модов, а может в том, что моддерам хватало Symbian — ведь кастомные прошивки выходят даже сейчас!
Недавно мне подарили сразу двух красавцев в очень хорошем состоянии — Siemens C65 от известного блогера Maddy MURK и Siemens C75 от моего читателя из Краснодара. А ещё мой читатель @kostett, задарил CX75 в идеальном состоянии, S75 под реставрацию и S68, за что вам всем огромное спасибо!
И C65 и C75 имели определенные аппаратные проблемы — оба девайса не включались и не подавали никаких признаков жизни. Ну что ж, берём в зубы сервис-мануал, схему и идём диагностировать наших красавцев, плавно переходя в практическую часть нашей статьи!
Начнём мы с вами с C75. Визуально девайс был в очень хорошем состоянии, если бы не бич 75-ой серии — крайне хрупкие корпуса. Крепления фронтальных панелек рассыпались прямо на глазах, так что на этапе фотографирования пришлось немного, эээ, выкручиваться :) К сожалению, к моменту написания статьи я так и не нашёл новый (пусть и китайский) корпус на C75 по нормальной цене, зато нашел на S-ки!
Итак, при установке аккумулятора, девайс не реагируетy ни на кнопку включения, ни на зарядное устройство. В первую очередь, нам нужно определить характер неисправности: исправны ли контроллер питания, процессор и флэш-память.
Очевидно что одно без другого работать не может, однако здесь важна поступательность действий: если за кнопку включения и формирование напряжений для остальных модулей отвечает КП, то и начинать нужно с него. Смотрим, присутствует ли на кнопке включения напряжение, близкое к вольтажу часов реального времени (~2.8В).
В нашем случае, питальники были на месте и при замыкании KB_ON_OFF на землю, КП кратковременно поднимал напряжения на процессоре и затем обратно отключался. Смотрим внимательно сервис-мануал и находим Power On Sequence. После старта контроллера питания, процессор должен вычитать из флэш-памяти стартовый код прошивки, проинициализировать ОЗУ и после этого регулярно отправлять «пинг» контроллеру питания, сигнализируя о том, что телефон работает. Если связь с флэш-памятью, ОЗУ или КП утеряна, то модуль WatchDog в КП просто выключит устройство.
Цитата из схемы на A60 на платформе E-Gold, но ASIC'и концептуально очень похожи.
Кроме того, процессор тактируется от 26МГц кварца, идущего с SDR-передатчика. Если он пострадал в следствии воды или падения — телефон также не включится. Проверить наличие старта процессора можно с помощью x65PapuaUtils. Если девайс хотя бы как-то отвечает на нажатие красной кнопки и что-то показывает в логе «папуаса» — значит передатчик, скорее всего, жив. Но для этого, конечно же, нужен дата-кабель.
Самое время глянуть, что у нас под металлическими экранами! Вскрываем их и видим… вот это:
Явные следы попадания влаги, процессор был весь ужарен и во флюсе… кто-то ещё в нулевых пытался его ремонтировать. Берём в зубы строительный фен и сдуваем процессор:
Процессор снялся за 10-15 секунд без нижнего подогрева, что говорит нам о том, что прошлый мастер пытался посадить процессор «на пузо» (т. е. не нанося новые шары припоя) и у него явно не получилось. После этого на девайс забили и отложили в долгий ящик… чтобы спустя 18 лет он попал ко мне! Специально для ремонта этого «симака» я нашёл и купил новый BGA-трафарет, отреболил процессор и поставил обратно:
Помимо перекатки процессора, поскольку девайс «купался», помимо поврежденных шаров процессора помер и фильтр на USB, отвечающий за дата-кабель. Его можно заменить на перемычки, но для этого нужен адекватный микроскоп, которого у меня пока нет. Я пробовал махнуть с 65 серии — не работает.
Тот самый крошечный фильтр на примере C65. Находится в BGA-корпусе, его легко посадить «на пузо».
Подсобрал девайс и… Он включился! Правда, работал только под небольшим изгибом — присмотревшись, я обнаружил следы флюса около флэш-памяти производства Intel, которую тоже сажали на пузо, да ещё и криво. После прогрева, девайс поработал какое-то время и через пару дней отвалился — как раз к моменту подготовки статьи, а у меня как назло не было нужного универсального трафарета :( Поэтому C75 выбывает из сегодняшней статьи, окруженным, но не сломленным :) Трафареты заказаны — ждём, оживляем и я сделаю отдельный пост о его судьбе.
Давайте перейдем ко второму красавцу — Siemens C65. Как я уже говорил ранее, его мне подарил известный блогер Maddy MURK, у которого частенько выходят обзорные ламповые видео о ретро-мобилках. Заслал он мне сразу несколько девайсов под восстановление, одним из которых и был этот C65!
Изначально, у девайса был битый дисплей — это не проблема, у меня такие есть :) Очевидно, что это следствие падения и как это часто бывало на 65'ых/75'ых, заменой дисплея всё не закончилось. Всё дело в том, что в те годы отвал процов и диалогов был типовой болячкой на телефонах Siemens. После перехода на более низкий техпроцесс производства плат (шары уменьшились в размерах, а следовательно и сами контактные площадки), пятачки стали хрупкими и в лучшем случае дело заканчивалось отвалом с необходимостью прогрева или перекатки. А в худшем — пятаки под процессором срывало и приходилось их восстанавливать, тянув перемычки!
К сожалению, конструктивно некоторые Сименсы были не очень продуманы: блок клавиатуры был внешним и пружинился к коннектору на плате, создавая при каждом нажатии нагрузку на плату. Добавить к этому то, что иногда телефоны закручивались фиг пойми какими винтами (после мастерских и т. д.), перекашивая плату, и результат был печальным — спустя пару лет активных нажатий на клавиатуру, девайс переставал включаться…
И причина этому проста — из-за того, что плата подвергается регулярным деформациям (хоть и несерьезным) — со временем может либо оборвать дороги, либо просто отвалиться процессор/флэш/ОЗУ с необходимостью дальнейшей перекатки. Именно поэтому живых CX65 осталось относительно немного.
Девайс определялся в «папуасе», но не мог зайти в сервисный режим из-за ошибки связи с ОЗУ. Тут уже всё стало очевидно и я приготовил фен… ремонт оказался абсолютно таким же, как и в случае с C75! Правда, если вы хотите попробовать оживить свой симак и перекатывать BGA не умеете, то можете просто погреть и покачать процессор с хорошим флюсом, есть шанс, что девайс оживет и ещё порадует вас или, по крайней-мере, позволит скинуть фото на другое устройство.
Обратите внимание на выделенную надпись. Boot not loaded как раз означает то, что телефон ответил на нажатие буткея, но девайс не смог полностью проинициализировать загрузчик.
Дисплей я взял в одном из сименсов, которые купил по 70 рублей «на запчасти».
Включаем девайс и тут тоже всё работает :)
Девайс определяется в папуасе и полностью проходит тест дисплея, кнопок и звука, что означает его полную работоспособность!
Подытоживая аппаратный ремонт, рассказываю о некоторых типовых болячках телефонов Siemens:
Телефон едва слышимо пикает при попытке включения: это называется пикофф (отключение телефона с вылетевшим исключением) из-за переполнения раздела с пользовательскими данными. Увы и ах, но его придётся форматировать (хотя перед этим можно посчитать ключи и снять дамп, а потом попытаться поискать фотки в условном binwalk'е). Решается очень легко при наличии дата-кабеля: подключаем телефон к ПК с Windows XP (подойдет и виртуалка), заходим в «папуас», жмём «Service Mode» и кратковременно нажимаем красную кнопку. После того, как девайс зашёл в сервис-мод, форматируем User-раздел в соотвествующей вкладке. Всё, девайс загрузится как новый!
Телефон не стартует, VRTC нет, питаний на тест-поинтах вообще никаких нет: начните с осмотра Dialog, на месте ли обвязка, не калится ли он, приходит ли на него VBat, какое потребление при нажатии на кнопку питания и есть ли реакция на подключение ЗУ. При необходимости перекатать или заменить. Аккумулятор тоже стоит проверить.
Телефон не стартует, но определяется в папуасе: проверьте процессор. При необходимости перекатайте и, если умеете, восстановите пятаки. Вполне возможно, что девайс когда-то прошивали и окирпичили — прошейте последнюю доступную сервисную прошивку (через Winswup). В крайнем случае можно посчитать буткей и залить фуллфлэш с чужого девайса.
Телефон не стартует, напряжения есть и никак не определяется: вполне может быть что и фильтр USB-поврежден, из-за чего папуас не видит телефон. Опять же, катаем проц, если не помогло — то ОЗУ и КП. Стоит глянуть на наличие 26МГц кварца с передатчика.
Телефон пикает и отключается в процессе работы: если есть дата-кабель, то x65PapuaUtils покажет причину пикоффа и ExitString, что поможет понять из-за чего ошибка. Но в основном это следствие кривой прошивки: шьем последнюю официальную и наслаждаемся!
Давайте сначала я просвещу вас в терминологию в мире моддинга сименсов:
Патч — хак оригинальной прошивки, который прошивается в флэш-память по определенному адресу. Обычно патчи подменяют графику, реакцию системы на какие либо события (например поиск сети или пропуск проверки SIM-карты) или добавляют новые функции.
Эльфлоадер — загрузчик нативных ELF-программ.
XTask — диспетчер задач, позволяющий переключаться между программами.
Эльфпак — сборка из эльфлоадера и необходимых патчей для его работы.
SWILIB, библиотека функций — Специальная таблица функций, предназначенная для того, чтобы эльфы и патчи могли работать на разных версиях прошивок.
Пришло время пропатчить наши сименсы и посмотреть, на что они способны теперь! Я собрал все необходимые файлы, в том числе папуас, флэшер и патчер, а также прошивки для C65 и SL65 и необходимые патчи в один архив, дабы вам не пришлось ничего искать самим! К сожалению, к моменту подготовки статьи, я так и не смог найти фильтр на C75, да ещё и флэша отвалилась :( Поэтому моддить мы будем только C65 и S75! И в этом нам снова поможет x65PapuaUtils. Для применения патчей нам необходимо разблокировать загрузчик путем расчёта Boot-ключе, которые генерируются на основе связки ESN + Hash. Для устройств 65 серии с низкой версией прошивки, x65PapuaUtils может сам всё сделать одной кнопкой, но для устройств 75 серии придется устанавливать отдельный мидлет и смотреть бут-ключи там.
Мидлет, позволяющий узнать ESN, эксплуатировал интересную уязвимость Java-машины, связанную с реализацией deflate. Благодаря тому, что разработчики оставили ошибку с переполнением, мидлет выходил за границы указателя и инжектил собственный шеллкод, который позволял читать и писать всё адресное пространство устройства :)
После разлочки загрузчика, сгенерируйте VKD-файл в папуасе и ставьте софт одного из самых крутых дядек в моддинг-сцене сименсов: V_KLay от ValeraVi! Это довольно крутая программа, которая оперирует собственным «языком» патчей: каждый патч предполагает указатель на адрес в флэш-памяти, старое значение (для валидации) и новое. По итогу, каждый патч — это просто текстовый файл, в том числе и эльфлоадер!
Пример патча. ValeraVi даже какое-то подобие препроцессора сделал с #if'ами — что вообще улёт :)
Но ставить патчи пока рано, на C65 в чистом виде не было нормального эльфпака, хотя патчей было достаточно. Обычно его перепрошивали в SL65, где была более шустрая Java-машина (вроде даже с поддержкой M3G) и возможность снимать видео! В остальном, девайс был почти аналогичен C65. Сначала телефон нужно «переименовать» в SL65 с помощью утилиты x65Flasher, а затем прошить WinSwup'ом с отключенными галочками проверок.
Девайс откажется стартовать, вылетая с пикоффом (при этом телефон будет жаловаться на Invalid HW). Для обхода этого ограничения, нам необходимо поставить специальный патч на обход проверки железа телефона и адаптации C65 к SL65. Делается это просто: загружаем патч по отдельности, выбираем C65 (Password boot) и подключаем выключенный телефон к ПК. Когда программа начнет искать телефон — кратковременно нажимаем красную кнопочку и программа начнет патчить девайс!
Делать дамп флэши необязательно, достаточно просто нажать пробел (дамп затянется на час-полтора).
После применения патчей, девайс стартует и работает как будто это SL65! Давайте же теперь присмотрим себе прикольные плюшки в базе патчей и накатим что-нить интересное. Например, я поставил «ускоритель Java», «замена значков на C75», «открыть все диски» и «работа без SIM-карты».
Увы, я несколько ночей бился с эльфпаком и заставить работать у меня его не вышло: на C65 эльфпак слишком старый и удален из базы патчей, а на SL65 он банально нерабочий — в комментариях тоже были жалобы на то, что программы банально не работают :(
Накатили эльфпак? Отлично, теперь наш телефон пропатчен, посмотрим как это работало в случае C65, а заодно узнаем, какую информацию он хранит в себе уже почти 20 лет!
Друзья! Эту часть статьи я решил оформить в виде серии относительно небольших видосов, дабы вы могли лучше прочувствовать дух того времени. Для занятых читателей, или просто тех, кто не хочет смотреть видео, я хотел сделать отдельный подраздел, где были бы только скриншоты - но увы, ограничение Pikabu на 25 медиа-элементов в одном посте дают о себе знать :(
Включив девайс, нас встречает такой знакомый звук щелчка включения света и пацаненок в очках на фоне! После установки патча на работу без SIM, девайс сразу грузится в систему и работает стабильно, без каких либо проблем.
Эффекты от патчей есть сразу. Разблокируются два скрытых диска с кэшем системы и конфигами, что позволяет чистить их без форматирования устройства, немного меняется верхний статусбар, а Java-машина и StackAttack в ней работают заметно шустрее!
Но самая главная кладезь информации в «симаках» — это, конечно же, раздел файлов! Телефоном пользовалась маленькая девочка лет десяти и здесь, спустя практически 20 лет, сохранилась часть её жизни! На телефоне остались фотографии родственников, а также мультимедийные файлы, которыми она обменивалась со своими друзьями и возможно одноклассниками! На девайсе есть просто куча различных картиночек и гифок, популярные в рунете тех лет. Котики, гифки с девушками, машины — всё, чем делились пацаны класса попадало сюда! Не менее важной была и фонотека каждого телефона! Некоторые MIDI-мелодии на большинстве девайсов и сейчас можно встретить!
Что особенно забавно, девочка, видимо, очень хотела себе Sony Ericsson, так что на телефоне есть заставка с лого «сонерика» и фирменным рингтоном! А может, это отголоски тех лет, когда сонерики считались самыми крутыми и некоторые пытались стилизовать под них свои телефоны? Ведь в начале 2010-х такой тренд тоже был, но с кастомными прошивками в стиле iOS для Android смартфонов!
Осторожно, на фото ниже ламповые бобины, а из-за названия файла начинает играть миди в голове! Кто тут не узнает evropa.mid? На телефоне были самые разные треки, начиная с midi-версий ранних треков Eminem, заканчивая гимном СССР и, конечно же, саундтреками фильмов «Бумер» и сериала «Бригада»!
Но вы ведь, вероятно, ждёте эльфов, дабы узнать что они могли привносить новенького в телефон?
Ну как я мог написать статью про Siemens'ы без эльфов! Как я уже говорил выше, на C65 (который стал SL65) эльфлоадер поставить мне не удалось. Однако, на более популярные модели Siemens, эльфлоадер легко установить и он работает без проблем, разве что перед этим придется прошиться на самую свежую прошивку для вашего девайса!
Изучать эльфы мы будем с вами на примере Siemens S75, который подарил мне читатель! На телефон были установлены патчи для работы без SIM, библиотека функций а также эльфпак. Но для работы эльфов, необходимо закинуть на нулевой диск (т. е. в память) папку ZBin с некоторыми полезными программами типа того же XTask'а. Если у вас нет подходящей флэшки, то это можно сделать через Bluetooth, ИК-порт или дата-кабелем с помощью Mobile Phone Manager (осторожно, он забагованный до жути!).
Ну, а на видео ниже предлагаю вам ознакомиться с тем, что же привносили эльфы в мир телефонов Siemens!
И вот, казалось бы, мобильные телефоны Siemens серьёзно сдали позиции в 2004 году и совсем погибли после покупки компанией Benq. Но какая же ирония случилась ближе к концу 2000 годов, когда Nokia на платформе S40 начала использовать… чипсеты Infineon X-Gold, те самые продолжатели сименсовких S-Gold'ов! До этого Nokia использовала собственный процессор UPP (вроде бы, разработанный в сотрудничестве с STMicroelectronics). Помимо Nokia, X-Gold использовали Apple и некоторые другие производители (LG), а старую платформу E-Gold можно было встретить в некоторых бюджетных телефона, по типу Мегафон Минифон. То есть в весьма своеобразной форме, учитывая родственные связи Infineon и Siemens, «сименсы» как бы вернулись обратно на рынок телефонов, только уже в качестве «сердца» телефонов других брендов!
Вот такой была моддинг-сцена эльфов в нулевых годах! Лёгким движением руки, сименсы превращались из обычных кнопочников в почти аналоги современных смартфонов!
Казалось бы, прошло практически 20 лет, многие форумы упомянутые в первом разделе статьи уже не существуют, а тот же мотофан стал прибежищем коллекционеров и немногих владельцев «моторов» в наше время. Но как бы не так! Спустя много лет, интерес к кнопочникам снова пробудился у многих участников сообщества того же сименс клаба. Мы чудом обнаруживаем, что база патчей для Siemens, которую ведет Илья kibab всё ещё работает, EXL с мотофана продолжает портировать всякие ништяки на моторы, Azq2 всё ещё пилит эльфы, патчи, а также полноценный аппаратный эмулятор процессора SGold, который способен запустить родную прошивку! У любителей моддинга мобилок из нулевых есть собственный TG-канал siepatch, где обсуждают моддинг под симаки, моторы — всё подряд! Но чатик формально приватный и по инвайтам. Если действительно хотите попасть туда — пишите мне в тг @monobogdan, скину инвайт.
P. S.: Друзья! Время от времени я пишу пост о поиске различных китайских девайсов (подделок, реплик, закосов на айфоны, самсунги, сони, HTC и т. п.) для будущих статей. Однако очень часто читатели пишут «где ж ты был месяц назад, мешок таких выбросил!», поэтому я решил в заключение каждой статьи вставлять объявление о поиске девайсов для контента. Есть желание что-то выкинуть или отправить в чермет? Даже нерабочую «невключайку» или полурабочую? А может, у этих девайсов есть шанс на более интересное существование! Смотрите в соответствующем посте, что я делаю с китайскими подделками на айфоны, самсунги, макбуки и айпады! Да и чего уж там говорить: эта статья уже сама по себе весьма наглядный пример! Найти меня можно в комментариях тут, на Пикабу, и в тг @monobogdan
Понравилась статья и хотите поддержать меня, дабы новые статьи выходили чаще? Ниже есть формочка с донатами. Всем большое спасибо!
А вам как наши сегодняшние герои? Понравились? Если вдруг интересно, то у меня есть канал в Телеге, куда я публикую бэкстейдж со статей, всякие мысли и советы касательно ремонта и программирования под различные девайсы, а также вовремя публикую ссылки на свои новые статьи. 1-2 поста в день, никакого мусора!
Материал подготовлен при поддержке TimeWeb Cloud. Подписывайтесь на меня и @Timeweb.Cloud, дабы не пропускать новые статьи каждую неделю!
Мы постарались сделать каждый город, с которого начинается еженедельный заед в нашей новой игре, по-настоящему уникальным. Оценить можно на странице совместной игры Torero и Пикабу.
Реклама АО «Кордиант», ИНН 7601001509
Издание составило список самых популярных мобильных телефонов за всю историю существования этих гаджетов. В тройке лидеров — девайсы Nokia, Apple и Samsung.
Рейтинг состоит из 15 позиций. На первом месте оказалась настоящая классика нулевых — «неубиваемая» Nokia 1100, которую купили 250 миллионов раз. На втором месте — Nokia 1110, которая разошлась тиражом 248 миллионов штук. На третьем месте — iPhone 6 и 6 Plus (тираж — 222 миллиона устройств).
Всего в топе семь телефонов Nokia, семь гаджетов Apple и один Samsung — кнопочный GT-E1100, который купили 150 миллионов раз.
Друзья! Многие ли из вас помнят такой телефон, как Nokia N-Gage? В начале нулевых финская компания сделала смелую попытку ворваться на рынок игровых консолей, создав устройство, которое сочетало в себе сразу две функции: полноценный смартфон на базе аппаратной платформы WD2 с Symbian на борту и игровая консоль с собственными картриджами! Год назад читатель подарил мне N-Gage QD с некоторыми аппаратными проблемами, которую я успешно оживил и подготовил подробную статью, в которой мы: узнаем историю появления N-Gage на свет и на чём он работал «под капотом», отремонтируем устройство и узнаем о самых частых аппаратных «болячках» смартфонов Nokia на платформе WD2, а также посмотрим на местную игровую библиотеку подробнее и выясним особенности разработки игр под Symbian! Интересно? Тогда добро пожаловать под кат!
Пожалуй, в истории мобильного подразделения Nokia, N-Gage один из самых желанных и неоднозначных устройств, когда либо разработанных компанией. Девайс прошёл долгий путь от смартфона, который ругали чуть ли не все, до легендарного устройства, которое ценится некоторыми людьми и сейчас.
По сути, N-Gage является уникальным смартфоном. За всё время существования мобильного рынка, по настоящему игровых телефонов почти и не выходило: можно вспомнить телефоны Sony Ericsson с геймпадом EGB-30,Xperia Play, японские и корейские телефоны, о которых мало кто слышал, да и китайские реплики Nokia с эмулятором NES на борту.
Я писал материал о Xperia Play год назад
В начале нулевых, рынок мобильных игр начинал активно развиваться. С ростом мощностей мобильных девайсов и появлением цветных дисплеев, стали появляться самые разные платформы для запуска мобильных приложений и продажи игр через операторские сети. Например, довольно большим успехом пользовалась перспективная платформа Mophun (Sony Ericsson T310, T610), которая использовала собственный платформо-независимый байткод. Помимо этого, в платформе были уже готовые библиотеки для упрощения разработки игр: вывод 2D спрайтов, 3D графики (программный рендеринг), звука и обработка ввода. Нельзя также не вспомнить о Qualcomm BREW — который использовался во многих CDMA-телефонах в США и была по настоящему нативной, позволяя использовать все ресурсы телефона. Но самой популярной стала, конечно же, J2ME, которая предустанавливалась на большинство телефонов до ~2014 года.
Sony Ericsson T610 - один из девайсов, поддерживающих Mophun
Само собой Nokia не могли упустить момент и не попытаться занять нишу на мобильном рынке игр. У Nokia было две основные платформы: S40, используемая в кнопочных телефонах и S60, платформа основанная на Symbian, которая использовалась в смартфонах компании. Уже в 2003 году, в платформах S40 и S60 была полноценная поддержка J2ME игр и Java показывала себя как достаточно перспективная платформа. Nokia даже реализовали свои собственные расширения для J2ME, дабы игры могли использовать больше возможностей устройства, чем предоставляет MIDP. В целом, телефоны Nokia были очень популярными, благодаря чему почти все J2ME игры имели собственную версию под S40 (а иногда и более навороченные под S60).
N-Gage, который должен был объединить телефон и игровую консоль, был анонсирован ещё в ноябре 2002 года, однако вышел в свет 7 октября 2003 года.
Первая версия N-Gage
Однако N-Gage был отнюдь не первым устройством в подобном дизайне. Его предком принято считать Nokia 3300 — смартфон, который в первую очередь был ориентирован для использования в качестве мультимедийного устройства и прослушивания музыки. Тем не менее, устройство тоже поддерживало J2ME и на нём вполне можно было проходить Symbian-годноту из нулевых.
N-Gage был встречен весьма неоднозначно. В устройстве было достаточно много как аппаратных, так и программных недоработок, которые вызывали недовольство среди пользователей. Первая и пожалуй самая главная для игровой консоли — отсутствие возможности горячей смены картриджей с играми. Сами игровые картриджи были реализованы в виде обычных MMC-карт памяти, однако, судя по всему в S60 не было поддержки «горячей» замены карт памяти как таковой, из-за чего для смены игры необходимо было сначала достать аккумулятор, заменить флэшку с игрой, установить аккумулятор, включить устройство и дождаться его загрузки (секунд 15) и только потом уже начинать играть. А учитывая, что это был телефон, то довольно длительное пребывание вне сети устраивало далеко не всех пользователей.
Картриджи были проблемой и для жителей отдаленных регионов. В России, насколько мне известно, картриджи можно было купить только в Москве и СПБ, хотя возможно и ещё в каких-то больших городах. Но вот, например, у меня, жителя Ейска, едва ли была возможность купить картридж «физически» — разве что только под заказ. Другое дело Java игры, которые весили по 50-100 килобайт в те годы и без проблем скачивались даже через мобильный интернет. Впрочем, судя по всему, никакого особого DRM в N-Gage играх не было и после того, как энтузиасты научились сливать игры с MMC-карточек — на N-Gage начало процветать пиратство.
Даже с точки зрения звонков у девайса были свои нарекания. Конструктивно инженеры Nokia решили расположить слуховой динамик не с лицевой части, а с боковой. Из-за этого для разговоров приходилось переворачивать телефон боком. Выглядело это весьма необычно для прохожих, незнакомых с N-Gage. :)
Тем не менее, в устройстве были и революционные решения: вспомнить хотя-бы N-Gage Arena, который объединял мобильных игроков в одну сеть с друзьями, таблицами рекордов и т. д.
Чуть меньше чем через год, в мае 2004 года вышла N-Gage QD: исправленная и доработанная версия N-Gage, в которой заметно изменили дизайн, добавили поддержку замены картриджей без выключения девайса и добавили слуховой динамик на переднюю часть корпуса. Именно эта версия N-Gage стала популярной и её чаще всего можно найти на онлайн-барахолках.
И хотя N-Gage ругали за недоработки, мобильным игрокам она полюбилась за высокий уровень игр для телефонов тех лет: графика была гораздо лучше чем на GBA и была близка по уровню к PS1, геймплей разнообразнее, чем в Java-версиях, да и сами игры имели довольно большой полноценный сюжет. Это был действительно замах на уровень таких мастодонтов, как Nintendo! Приятным бонусом была полноценная поддержка Java-игр, благодаря чему на телефоне можно было гораздо удобнее проходить уже вышедшие игры для MIDP 1.0, даже если вся библиотека игр N-Gage уже была пройдена!
Не менее интересно девайс устроен и «под капотом». Как я уже говорил выше, N-Gage был построен на базе зарекомендовавшей себя платформы Nokia WD2, которая использовалась в смартфонах 3650, 3300, 3230, 6600 и.т.д. Многие годы смартфоны Nokia работали на базе чипсетов OMAP, в случае WD2 это скорее всего (не точно, есть вероятность что UPP собственной разработки — как и в случае с S40) были специализированные версии OMAP с «перевернутыми» регистрами для предотвращения портирования Linux на устройства Nokia, поскольку OMAP были доступны рядовым энтузиастам.
Характеристики N-Gage были следующими:
Процессор: ARMv4 ядро на частоте 104МГц, что было стандартом для многих телефонов в те годы (например Siemens на платформе S-Gold работали на той же частоте, а E-Gold — вдвое меньшей). Скорее всего, процессор собственной разработки Nokia.
Память: 16Мб SDRAM ОЗУ и 16Мб ПЗУ, раздельно. Иногда флэш-память изнашивалась и в СЦ её нередко меняли. Мои читатели, которые в нулевых работали в СЦ наверняка вспомнят о "бутербродах" на некоторых телефонах :)
Дисплей: 2.1" матрица с разрешением 176x208 и глубиной цвета 12-бит (4096 цветов), выполненная по технологии CSTN (хотя возможно и TN). Для тех лет, диагональ дисплея и его разрешение были оптимальными, круче были только коммуникаторы с 2.4" дисплеями 240x320. Фактически все (или почти все) смартфоны Nokia на Symbian тех лет использовали одну и ту же матрицу, с чуть разной длинной шлейфа (просто где-то её переворачивали вверх-тормашками, как на N70).
ОС: Symbian 6.1
Аудиовыход: 2.5мм джек (моно)
Как видите, ни о каком GPU и речи не шло. Вся отрисовка полагалась исключительно на процессор и результат того, что даже такие крутые 3D-игры как Tony Hawks и Tomb Raider идут на N-Gage — заслуга программистов, которые оптимизировали свои рендереры для работы на 104МГц ядре! А ведь некоторые телефоны тех лет (например, Motorola) использовали отдельные 2D GPU для ускорения отрисовки интерфейса и работы с камерой — ATI Imageon!
Благодаря тому, что девайс строился на смартфонной платформе, на нем можно было не только играть, но и слушать музыку, а также смотреть видео и серфить интернет. Весьма и весьма для тех лет!
Даже спустя несколько лет после выхода телефон N-Gage, сам бренд и платформа N-Gage Arena продолжила существование на флагманских смартфонах Symbian, которые уже не имели такой игровой дизайн. Одним из N-Gage 2.0 девайсов была легендарная Nokia N95, которая в плане игровой направленности была гораздо круче, поскольку в устройстве использовался GPU PowerVR MBX Lite. Да, точно такой же, как и в iPhone 2G!
Конечно же, рано или поздно я и сам хотел обзавестись собственной N-Gage, с чем мне помог мой читатель, причём всё как я люблю: девайс был полурабочим и требовал некоторого ремонта. Более года назад мне написал подписчик на DTF с никнеймом «Improved white bonkle» и предложил заслать N-Gage QD и ещё одну плату под ремонт с некоторыми аппаратными проблемами: первая плата висела на белом экране, а вторая просто висела на логотипе Nokia без подсветки экрана. Помимо N-Gage, читатель положил «толстую» зарядку и флэшку на 1Гб, за что ему огромное спасибо.
Читатель рассказывал, что девайс он покупал у некого коллекционера «гаг» в России и довольно много играл на ней в эксклюзивные игры для данной платформы. После поломки устройства, девайс лежал у него какое-то время, пока он не заметил мои статьи и не решил заслать устройство под ремонт в хорошие руки. :)
Ну что-ж, давайте оживим девайс!
Я не зря отметил то, что девайс подарили мне более года назад. Мне удалось сразу продиагностировать N-Gage и обнаружить неисправности, однако фактически отремонтировать устройство у меня не вышло: в то время я откровенно «бомжевал» и у меня даже более-менее адекватной паяльной станции не было. Дабы было понятно: тогда я перепаял коннектор АКБ, сейчас я восстановил BTEMP. На данный момент мне материально активно помогаете вы, мои читатели, поэтому за год я смог обустроить небольшое рабочее место, пригодное для проведения большинства ремонтных работ.
Разбирается девайс очень просто, как и большинство телефонов Nokia тех лет: снимается передняя часть корпуса (панелька), откручиваются винты, снимается пластиковая часть с клавиатурой, дисплей и затем плата из задней части корпуса. Кстати, панельки очень часто любили менять для придания свежего вида устройству: эдакие скины тех лет. :)
Обратите внимание на то, что некоторые детские болячки пользователь и сам мог отремонтировать. Не работает разъём ЗУ, наушники, вибромотор или динамик? Пошёл, купил за 10 рублей на ближайшем радиорынке и сам поменял! Вот уж настоящий right to repair. :)
Визуально осмотрев плату, я пришёл к выводу, что плата скорее всего не копанная китайцами: компаунд UPP'а (процессор) и Mjoelner (радиотракт) был не тронут, флэша с виду тоже в норме, все элементы стояли ровно. Однако около коннектора аккумулятора, я обнаружил следы канифоли: кто-то явно вручную перепаивал коннектор АКБ. Спросив у читателя, я получил утвердительный ответ: он действительно пытался перепаять коннектор аккумулятора с помощью советского паяльника.
Но почему же тогда устройство виснет на заставке Nokia без подсветки? Давайте взглянем на схему:
У коннектора АКБ три контакта: плюс питания, масса и BSI, который уходит напрямую в UEM (контроллер питания). Смартфоны Nokia на платформе WD2 были очень капризны к сопротивлению на BSI и UEM отказывался давать разрешение на старт при установке несовместимого аккумулятора. Казалось бы, BL-4C, BL-5C и BL-5CB по размерам почти одинаковые, но имеют разное сопротивление на BSI.
Однако даже при установке совместимого АКБ, устройство отказывалось включаться. Вывод простой: линия BSI находится в обрыве. Первым делом я сдул коннектор АКБ, перепаял его и девайс наконец-то нормально включился… ненадолго.
Произошло падение в «белый экран», как и вторая плата. Причиной этому стала «стекляшка» рядом — токовый датчик LM3820: вероятно, в ходе ремонта коннектора, читатель умудрился неравномерно поплавить шары под стекляхой, из-за чего контакт нарушился. Стекляха среагировала на прогрев с флюсом и девайс снова включился…
Коннектор АКБ уже был, в скажем так, не идеальном состоянии, поэтому для точного исключения влияния коннектора я залудил контакты. Я люблю, когда платы не уколхожены, а весь ремонт близок к заводскому - поэтому коннектор "за кадром" будет заменен на норм.
Но не заряжался. :( При попытке зарядить девайс, система показывала сообщение «не заряжается» и потребление падало в ноль. Ремонт я проводил ещё тогда, когда у меня и станции нормальной не было, из-за чего я умудрился сколоть NTC-термистор прямо под коннектором аккумулятора (обычно он расположен либо с обратной стороны коннектора АКБ, либо с обратной стороны платы), прямо с пятачками.
Я знаю, что иногда меня читают опытные мастера с многолетним опытом, которые уже тянутся написать «Рукожоп! Мы в нулевых в ещё более тяжелых условиях умудрялись мобилки ремонтировать, а ты вон люкей себе не смог купить!». Но я лично считаю, что если косяк нормально исправлен, даже через год — то это не косяк. :) Поэтому лезем в схему и смотрим, куда у нас уходит BTEMP:
BTEMP идёт в UEM через обвязку в виде конденсатора C230, который расположен с обратной стороны платы, около КП. Найти его можно в Component finder'e, который можно найти в самом конце почти любой схемы на телефоны Nokia:
Подпаиваемся, включаем и девайс и… всё снова работает, в том числе и зарядка. :)
На этом ремонт устройства закончен.
Отдельное слово хотелось бы сказать о дисплеях: для N-Gage обычно их принято считать достаточно редкими. Однако есть нюанс: практически все смартфоны Nokia на платформе WD2 (и пару на BB5 — например, N70) использовали одну и ту же матрицу с параллельным интерфейсом. Различия были лишь в форме шлейфа. В N70, например, этот дисплей ставился «перевернутым», однако длины шлейфа не хватало для того, чтобы поставить дисплей в N-Gage. Тем не менее, теоретически можно попробовать поставить куда менее редкий дисплей от 6630.
В процессе подготовки материала и изучения схемы, я вывел небольшой мануал по базовой диагностике N-Gage и любого телефона Nokia на платформе WD2:
Белый экран, есть звук включения и реакция кнопок. Чаще всего виноват EMIF-фильтр COM01F2: хрупкая «стекляха», которая повреждается при попадании влаги или падении устройства. Реже — обрыв сигнальных линий дисплея до коннектора дисплея, а то и отвал омапа.
Белый экран, ноль реакции: из-за бага в первых версиях прошивки, при полном заполнении внутренней памяти девайс виснул на белом экране. Реже — проблемы с питанием на OMAP, отвал процессора. Из-за попадания воды может пострадать токовый датчик.
Нет подсветки, лого Nokia: обрыв BSI или неподходящий аккумулятор.
Нет реакции на кнопку включения: замерить напряжение на входе кнопки включения (должно быть близко к VBAT), дальше смотреть в сторону UEM и его обвязки. На некоторых смартфонах Nokia (уже чуть более поздней платформы — например N70) кнопка включения идёт через EMIF-фильтр вместе с клавиатурой, из-за чего убитая стекляха может стать причиной отсутствия напряжения на PWRON.
Нет подсветки, есть изображение: проверить напряжение на C130 — если там есть 13.3В, значит бустер работает нормально. Если напряжение более 13В, то нет фидбека (т. е. катода с подсветки на самом дисплее), необходимо проверить обрыв на коннекторе дисплея. Проверить драйвер подсветки D130, при необходимости заменить (подходит с многих Nokia тех лет, иногда кустарно заменяют на драйверы подсветки с других телефонов).
Как я уже говорил выше, читатель задарил мне ещё и флэшку, на которой было установлено куча игр: как портов игр с других платформ, так и нативных «дампов» с картриджей, а также эмуляторов. Было ли во что поиграть на N-Gage? Давайте узнаем:
Именно на платформу N-Gage вышло не так уж и много игр: всего около 50. Однако среди них всё равно найдется во что поиграть: многие известные издатели решили рискнуть и разработать игры по собственным вселенным для N-Gage. В каких-то случаях это были порты с других платформ (например, Asphalt 2 с PSP, хотя это не совсем верно, поскольку Asphalt изначально мобильная игра), в каких-то уникальные игры, дополняющие ЛОР той или иной вселенной (например, TES Travellers). Не забываем про игры для обычных Symbian-смартфонов, порты и J2ME игры: таким образом, библиотека получается весьма и весьма обширной!
Ну и не стоит забывать и о эмуляторах! С играми для NES и SMD, игровой потенциал N-Gage увеличивается в разы. Ещё бы дисплей был чуть-чуть побольше и хотя-бы классический TN, а не немного блеклый CSTN и было бы вообще идеально.
Помимо игр, на многих Symbian-смартфонах стояли некоторые приложения, которые были must-have для тех лет: например, файловый менеджер X-Plore с диспетчером задач, а также сторонний плеер LCG JukeBox (нормальный плеер с плейлистами появился только в Symbian 8). Иногда диспетчер задач не спасал и девайс приходилось перезагружать.
Давайте же глянем на игры подробнее. Как я уже говорил ранее, все 3D-игры были софтварными: т. е. вся трансформация, обработка освещения и растеризация треугольников с текстурированием и перспективной коррекцией (если была) происходила исключительно на ЦПУ. Поскольку FPU в процессоре не было, использовались fixed-point числа.
Переходим к гоночкам. Тут у нас аж две части Asphalt, ещё тогда, когда серия не стала донатным «фритуплеем». Asphalt 2 весьма занимательная игра с оптимальной производительностью, кое-где конечно бывают просадки, но в целом более чем играбельно. Как это игралось в нулевых? Сравните скриншоты с j2me-версией, которая напоминает гоночные 2.5D игры с SMD и NES (при этом, в ней есть 3D-элементы и игра использует M3G) и версию для Symbian/PSP/NDS, думаю тут всё итак будет понятно:
Однако большинство читателей наверняка интересуют игры в известных вселенных. Взять, например, полноценный порт первой Tomb Raider. Насколько я понимаю, оригинальная TR славилась тем, что изначально разрабатывалась с расчетом на легкое портирование между разными платформами (да чего уж там говорить, игру отреверсили и переписали с нуля как минимум два раза!). Первый Pentium неплохо тянул TR в софтваре, а N-Gage справляется явно не хуже:
Не забываем и про 2D! В некоторых телефонах Motorola, Siemens и Samsung использовались внешние 2D видеоускорители ATI Imageon. В их задачи входила обработка изображения с камеры, функции контроллера дисплея, а также аппаратное ускорение некоторых 2D-операцией: блиттинг, отрисовка линий, прямоугольников и возможно ещё каких-то примитивов. Однако N-Gage, даже без помощи аппаратного блиттинга был способен выдавать приемлемый FPS и уровень графики в 2D играх. Например, в Sonic, где у нас есть параллаксовые фоны с покадровой анимацией:
Ну и нельзя не вспомнить про уникальную игру на N-Gage: TES Travels Shadowkey, которая была разработана специально для N-Gage и поиграть в неё можно только на оригинальном N-Gage, пропатченном Symbian-девайсе или EKA2L1. Вообще, это полноценная RPG от первого лица, расширяющая лор игры в Хаммерфелле и как минимум из-за этого она достойна к ознакомлению. Игра стилистически заметно напоминает Morrowind, графика близка по уровню к PS2. FPS, конечно, колеблется в районе 10, из-за чего игру можно считать пошаговой… но тем не менее, полноценная FPS RPG на мобилках — это многого стоит!
Есть также примеры отличной графики и… очень низкой производительности. Если в TES ещё можно попробовать поиграть в пошаговой манере, то как насчет шутера от первого лица в 5-6 кадров? Речь, конечно же, о Call of Duty. Игра получилась очень красочной (с трушными полигональными ландшафтами и кучей пропов), но крайне медленно работало на желез N-Gage.
С разработкой своих приложений под N-Gage дела обстоят сложно. С одной стороны, в Symbian 6.1 ещё не было сертификатов, необходимости делать джейлбрейк и менять дату в устройстве. С другой стороны, для разработки под N-Gage требуется установка оригинального SDK для S60: приложения скомпилированные с помощью более свежих версий SDK работать не будут! Ни о каком Qt и речи не идёт и даже Carbide окажется слишком свежим для нашего устройства.
Оригинальный SDK можно скачать здесь.
Кроме того, SDK использует весьма своеобразную систему сборки, написанную на Perl, которая поддерживает только древнюю версию ActiveState Perl 5.6.1 аж от 2001 года и не работает на Windows 7/8/10! С отладкой на реальном устройстве тоже возникнут проблемы: для этого необходим относительно редкий FBus-кабель (который устанавливается вместо аккумулятора и подключается к ПК через RS232-преобразователь), либо использование программатора а-ля UFS HWK. Хотите отлаживать игру на ПК? Тут есть симулятор, прямо как при разработке под iOS: однако этих симуляторов целых два (для Visual C++ 98 и CodeWarrior) и с каждым возникают проблемы при сборке (то линкер крашнется, то разработчики забудут положить часть реализации системных либ для разных симуляторов в разные версии SDK). Хотите разрабатывать игры? С симулятором об этом можно забыть — отрисовка слишком медленная. Готовьтесь писать кроссплатформенный рантайм, который под Windows будет использовать GDI, а под Symbian нативное API для графики! Программа крашнулась на реальном устройстве и инструментов для отладки у вас нет? Ничего подробнее «приложение остановлено» вы не получите!
Ну а вишенкой на торте станет весьма своеобразный сабсет C++, который используется для написания приложений. Сама система полностью построена по принципам ООП, однако ради уменьшения размера выходного кода была полностью убрана поддержка исключений: предполагается, что программист будет вручную помещать объекты на стек (для Stack unwinding'а), полностью убран RAII как концепция с введением NewL и ConstructL, где L — означает Leave (т.е исключение может выбросить только функция-фабрика, а не фактический конструктор) и кодов ошибок, а также полное отсутствие поддержки глобальных переменных (но есть частичная поддержка констант — из преинициализированных данных, судя по всему, поддерживаются только строковые литералы). Да, никакого .data и .bss, что серьёзно усложняет портирование существующих приложений под Symbian. Спасибо что есть пакет для совместимости с POSIX и реализовали часть stdlib.
Почему нет глобальных переменных?
Приложения в Symbian — это, по сути, dll-библиотеки, с которыми общается UI-фреймворк. Ради сохранения памяти, в Symbian решили сделать все загружаемые библиотеки доступными для любых процессов в системе. Поэтому Symbian и не позволяет библиотекам иметь собственную статическую память, зато можно свободно использовать динамический аллокатор. У exe таких ограничений нет, однако там свои сложности при взаимодействии с системным API. Тем не менее, с Quake поступили своеобразным грязным хаком: Приложение в меню лишь «значок», который фактически запускает соответствующий exe-файл на флэшке!
Дело улучшает кастомный SDK для хоумбрю от энтузиаста из Германии. Он портировал SDL2, Lua и адаптировал тулчейн для работы в современных системах. Но лично для меня это не трушно — нужно использовать оригинальный SDK. :)
В целом — это одно из объяснений того, почему N-Gage стала относительно провальной как платформа для игр. Конечно в своё время был жив форум разработчиков Nokia, где были как официальные сэмплы от Nokia, так и мануалы от других разработчиков, однако базовые косяки при проектировании архитектуры платформы портили всю малину. Чего уж стоит обратная совместимость: для быстрой отрисовки графики предполагалось рисовать картинку в обход графического сервера, напрямую получая указатель на фреймбуфер. В начале фреймбуфера лежала структура с описанием разных пиксельформатов, которые были отнюдь нестандартными: 12-битный, 16-битный, 18-битный. Из-за этого, игры для старых версий Symbian могли давать артефакты на 9.x, например.
Написание полноценной, пусть и небольшой игры — материал для отдельной статьи. Есть идея написать кроссплатформенную игрушку, которая работала под разными платформами кнопочных девайсов: от Motorola ROKR на Linux и китайских клонах Nokia (E71 все помнят?), до эльфов на Siemens'ах и Motorola E398. Таким образом, мы рассмотрим особенности разработки под каждую платформу (например, на моторах был 2D-ускоритель ATI Imageon).
Вот таким был легендарный N-Gage. Девайс, конечно, действительно весьма своеобразный. С одной стороны это гениальное решение: взять смартфонную платформу и сделать на её базе игровую консоль. С другой стороны, с разработкой игр под N-Gage, или, например, прямыми функциями телефона были свои проблемы. Девайс получился немного сыроватым, но лично я считаю, что концепция имеет право на жизнь, но пока ни у кого не получилось сделать действительно массовый девайс. По моему мнению, нужно сохранить как можно больше N-Gage живыми. Сложно даже представить сколько потенциально оживляемых плат уехало в чермет…
А вам понравился N-Gage?
P. S.: Друзья! Время от времени я пишу пост о поиске различных китайских девайсов (подделок, реплик, закосов на айфоны, самсунги, сони, HTC и т. п.) для будущих статей. Однако очень часто читатели пишут «где ж ты был месяц назад, мешок таких выбросил!», поэтому я решил в заключение каждой статьи вставлять объявление о поиске девайсов для контента. Есть желание что-то выкинуть или отправить в чермет? Даже нерабочую «невключайку» или полурабочую? А может, у этих девайсов есть шанс на более интересное существование! Смотрите в соответствующем посте, что я делаю с китайскими подделками на айфоны, самсунги, макбуки и айпады!
Понравился материал? У меня есть канал в Телеге, куда я публикую бэкстейдж со статей, всякие мысли и советы касательно ремонта и программирования под различные девайсы, а также вовремя публикую ссылки на свои новые статьи. 1-2 поста в день, никакого мусора!
Материал подготовлен при поддержке TimeWeb Cloud. Подписывайтесь на меня и @Timeweb.Cloud, дабы не пропускать новые статьи каждую неделю!
А ведь совсем неданно эти бренды были самыми популярными.
Названа неофициальная дата «похорон» мобильного бренда Nokia
По данным портала IT Home, бренд Nokia готовится к удалению одноимённых гаджетов с официального сайта, что станет началом их полной «отмены». И хотя сами устройства будут продаваться под другим названием, история оригинальной торговой марки, если верить источнику, прекратится уже скоро.