Комментарии 89
У меня была его младшая версия -- С75. Но мне ооочень нравился CX75 из-за всех его фич с мп3 и картой памяти.
Если я ничего не путаю, в Сименсах была zlib встроена в прошивку и из J2ME был доступ к работе с zip-файлами буквально в несколько строк кода.
У меня CX65 был, я прошивку ставил с программным mp3 декодером, и мог с компа заливать в телефон аж 3-4 mp3 файла и воспроизводить их. Памяти было 10,6 мегабайт.
И поводу zip - все верно. Паковал шпоры на первых курсах универа (куча .txt файлов внутри зипа). И с телефона заходил в архив и открывал что нужно.
помню, я так даже модификации джава-игр делал) распаковывал винраром на пк, менял файлы, паковал обратно. На сименсах запускались, на других телефонах после перепаковки часто нет
На Сименсах, на удивление, было относительно много оперативной памяти. Несмотря на их маленький ценник и сироватость телефонов вцелом они многие вещи "вывозили". Особенно мне нравилась открытость их файловой системы (включая некоторые системные диски).
У других производителей же было всё наоборот, максимум закрытости, вездесущий DRM и запрет на копирование/удаление некоторых файлов. После сименсов, в плане открытости, были наверное только Sony Erricson.
И, касаемо игр на телефонах -- лично для меня мобильный гейминг умер вместе с эпохой кнопочных телефонов.
Как я его любил... До сих пор вспоминается с большей теплотой чем любой другой телефон
юзал его с 2007 по 2009) эльфы, патчи наше всё) по-сути первый мой смартфон. Забавное совпадение на днях загорелся идеей его купить, скоро приобрету бу и потом корпус заменю на новый
Ох, аж олдскулы свело.
Помню прекрасно и софт того времени и многометровые листинги в Ида (поди найди, где вообще в 16 мб бинарнике код а где картинки с нескучным обоями), первые опыты с не-х86 ассемблером и первые патчи, бесконечные поиски в оперативке нужных данных и попытки придумать и организовать интерфейс обмена данными между такой заплаткой и j2me приложением. Как-то заодно был приобретён первый опыт с java, злое*учим эклипсом и масса других побочных навыков. Скучно точно не было.
В отличие от ... Сименсы были "всем понятной "потребительской электроникой и показать свои эксперименты можно было условно любому знакомому. Кого-то и этот аспект мотивировал.
Я пользовался и C->SL65, и CX70, так был нормальный патч на прозрачность от Dimadze:
http://patches.kibab.com/patches/details.php5?id=9900
http://patches.kibab.com/patches/details.php5?id=10623
поди найди, где вообще в 16 мб бинарнике код а где картинки с нескучным обоямиК моменту, когда я начал этим всем увлекаться, уже были инструменты вроде smelter, которые умели показывать где что по блокам. Дизассемблировать прошивку я, правда, тогда не пробовал, зато пробовал вот вчера, гидрой. Декомпилирует во что-то осмысленное, но, блин, всё равно сложно понять как именно и почему оно всё работает. Возможно я просто не умею реверсить bare metal код.
До сих пор лежит дома Samsung x600, который при включении говорит металлизированным голосом "система включена". Было время, да.
Патчи портировались под каждую верстю прошивки отдельно, в каждой версии надо было найти соответствующие API и места врезки своих функций. Поэтому на неходовых телефонах было мало патчей.
Добавлено: некоторые телефоны можно было прошить прошивкой от другой модели. Например на CX65 ставилась прошивка от CX70. А на ME45 прошивка от S45i (хотя это совсем другая история)
Ооо, спасибо за воспоминание. Как мы со Скайлордом дебажили ME45, не включавшийся на ионизированной прошивке при плюсовой температуре... И как я искал блок EEPROM, превращавший ионизированные телефоны с симками Билайна в пейджеры. Эх, были деньки :)
вроде в сх75 8мб оперативки, а спатчем 16.
16 MB SDRAM оказалось на CX/M75 с flash от Intel i4060; был рабочий патч от того же Dimadze & company:
http://patches.kibab.com/patches/details.php5?id=10193
А ещё был патч разгона процессора со 104 до 208 МГц:
http://patches.kibab.com/patches/details.php5?id=10294
P.S. капец, кидая ссылки, не подумал про хабраэффекты, позорные боты у кибаба начали массово регистрировать кривые аккаунты(((( ему пришлось отключать регистрацию
А вот S75 отлично проигрывал видео фуллскрин, там ЕМНИП и аппаратный декодер был. Помню, с завода на нём лежало видео "Million Bycicles", игравшее плавно и красиво - а я затарился огромной (не меньше гигабайта!) картой памяти, и смотрел оттуда полнометражки. Где-то на половине иногда начинался рассинхрон звука, но я мужественно терпел. Помню и всю эту работу с эльфами, и то, что изложено в статье - очень круто :)
А CX75 отличная машинка - мой папа использовал его ещё года три назад, и только ради новомодных банковских приложений отказался от него. Весь корпус потёрт, аккумулятор менялся, но аппарат активно эксплуатировался больше десяти лет! Теперь лежит в холодном резерве, чтобы в случае необходимости снова встать "на боевое дежурство".
Видео Million Bycicles ещё осталось? Скиньте через ИК-порт.
Посмотерл видео - прикольно!
Вот есть стим-панк, есть дизель-панк... А может есть такой...кнопочно-телефонный панк? Где мир пошел не по пути больших тыкательных экранов, а по пути здорового человека? Экраны чтоб смотреть, кнопки, чтоб в них тыкать...
Мне, правда, кажется прикольным компромиссный вариант — слайдер и с большим сенсорным экраном, и с физическими кнопками. У меня как-то в итоге ни слайдера, ни раскладушки не было, может поэтому так и кажется)
Мир "Матрицы" - с одной стороны нейроинтерфейсы и летающие корабли, с другой - мониторы с консольками, телефоны не то, что кнопочные, а местами аж дисковые, дискеты опять же.
*окей, до 4 части, там уже смартфоны(
в целом это показывает мировой опыт интеграции современных технологий поверх старых. Просто у нас чаще иначе происходило - все старое использовалось максимально по-свински до конца срока службы, потом еще столько же из-за отсутствия средств на новое, а потом все к хренам сносится на корню и ставится (за мильярды денег) сразу современное и даже местами слегка избыточное. Так и живем с такой вот культурой эксплуатации.
вот был же расцвет 8-битной культуры, может и ренессанс старых мобильников будет?)
Если честно, я даже от реакции общественности на эту статью несколько офигел. Ожидал, что да, ностальгия у народа есть, но чтоб вот прям настолько!
Я скажу даже больше -- у многих (и у меня тоже) глубоко в мозгу сидит мысль о том, чтобы купить себе любимый телефон из того времени. В них было что-то такое, чего просто словами не описать.
Реф (refurbished) какого-нибудь Nokia N95 с русской клавой на Алиэкспресс 3500 руб.
я себе уже несколько разных кнопочных Нокий сменил за несколько лет.
Kai OS - и есть такой панк.
Был C65 и был удивлён, что через галерею видео формата 3gp не воспроизводилось а через файловый менеджер - да.
Громадное спасибо, аш олдскулы свело. Интересно, где вы нашли описание всех функций?
И, конечно же, можно экспериментировать. Но аккуратно. Любое неверное движение — и телефон говорит «пик» и вырубается. Причину можно посмотреть в инженерном меню в разделе "(S)Exit", но она в большинстве случаев вообще не помогает понять что именно пошло не так.
тщмта, железа этих телефонов вполне хватало на xvid 132*176 в 15 fps. больше смысла не имело, ибо дефолтный "драйвер" дисплея (который на самом деле не драйвер, а просто процесс nucleus'а, а драйвера siemens не использовали вообще) просто не умел рефрешить чаще.
упор там был даже не в производительность проца, которой вполне хватало (но дико нехватало наличия хоть какого-нибудь FPU и бесило то, что проц даже банально делить не умеет), а в скорость доступа до флешки. той, которая (RS-)MMC. наивный fopen/fread выдавал единицы килобайт в секунду. ровно по той причине, что siemens не использовали драйвера.
при этом чисто технически sdio-контроллер там мог читать флешки быстро и делал это- но только в родном плеере. спокойно выдавал все 1411 кбит/с.
крч, не просто так в этих телефонах в векторах прерываний есть замечательная константа 0xFACE926E, а память при старте ос они проверяют не менее замечательной константой 0xDEAD926E.
2 Мб оперативки
а на cx75 (и возможно m75)- 16, верхние 8 из которых не использовались. но можно включить обратно.
наивный fopen/fread выдавал единицы килобайт в секундуО. А вот это интересно. Я реально столкнулся с тем, что при чтении страницы (40 кб) из файла наивно в GUI_OnRedraw() всё ощутимо пролагивает на полсекунды. Решил это тем, что выделил два буфера: один для страницы, с которой мы рисуем кадры, и второй — чтобы асинхронно (если честно, всё ещё не до конца понимаю что делает SUBPROC(), но вроде бы запускает переданную функцию как отдельный поток) читать в него файл. Когда закончили с текущим буфером, меняем их местами и снова запускаем чтение асинхронно.
крч, не просто так в этих телефонах в векторах прерываний есть замечательная константа 0xFACE926E, а память при старте ос они проверяют не менее замечательной константой 0xDEAD926E.Это я не находил :)
Но у меня как-то вообще всё туго с реверсингом bare metal кода, даже с современными инструментами вроде ghidra. Наверное, не стоит пытаться тренироваться в этом на ~22 мегабайтах прошивки с RTOS для устройства с каким-то умопомрачительным количеством периферии.
8. а на cx75 (и возможно m75)- 16, верхние 8 из которых не использовались. но можно включить обратно.Поправил. Чот да, я всё-таки туплю — мне попадались адреса типа 0хa82f0714, при том, что я помню, что внешняя по отношению к процессору оперативка начинается с 0xa8000000, а это уже смещение почти 3 мб.
А зачем они ставили 16, чтобы не использовать половину? Это ж дорого?
Это я не находил :)
я просто лениво-лениво пишу эмулятор pmb8875/6, насмотрелась на оные. ну, а на dead926e еще тогда, чуть меньше 15 лет назад.
0xface926e лежит по адресу 0x14. но не уверена, что его можно прочитать просто так- туда подмаплена TCM.
Я реально столкнулся с тем, что при чтении страницы (40 кб) из файла наивно в GUI_OnRedraw() всё ощутимо пролагивает на полсекунды.
там просто фс тоже в отдельном процессе и общение с ним mailbox'ами и очередями. с очевидными тормозами на каждом шагу.
А зачем они ставили 16, чтобы не использовать половину? Это ж дорого?
кто же их знает, это же siemens xD
возможно, хотели что-то еще добавить, но не успели. там очень-очень много недопиленных вещей. *показывает на 3d-ускоритель в s75*
даже с современными инструментами вроде ghidra.
гидрой, да 32-меговый бинарь... она ж подавится xD
вроде бы запускает переданную функцию как отдельный поток
чисто технически все эльфы работают в одном потоке. cepid 0x4209, насколько помню. а subproc запускает функцию в контексте другого (но тоже одного и фиксированного) потока с другим приоритетом (pid == приоритет). вот его уже не помню, слишком давно было.
я просто лениво-лениво пишу эмулятор pmb8875/6, насмотрелась на оные.Ещё интереснее! Такая мысль у меня тоже была, чтобы наконец-то какими-то практическими вещами укрепить своё понимание как работают процессоры в частности и железо в целом на низком уровне. Но лучше, видимо, всё-таки начать с чего-нибудь более документированного и менее сложного. Игровой приставки там какой-нибудь. Там из обязательной к поддержке периферии обычно только видеочип и кнопки/джойстики.
И как успехи?
ну, а на dead926e еще тогда, чуть меньше 15 лет назад.В фулфлэше с того сх75, что в видео, оно есть на смещении 0x92AC4 (в обратном порядке байт).
там просто фс тоже в отдельном процессе и общение с ним mailbox'ами и очередями.Ага, до чего-то такого я докапывался, по крайней мере видел процессы (CepID, кстати что такое CepID?) с FFS в названии — это либо For Fuck's Sake, либо Flash File System, каждый выбирает расшифровку по вкусу. И ещё все функции для работы с файлами вызываются через какую-то таблицу с указателями (которая я не смог найти где заполняется). Подозреваю, что они разные для флэша и карты.
*показывает на 3d-ускоритель в s75*Так он вроде работал? В соседнем комменте про это писали.
гидрой, да 32-меговый бинарь… она ж подавится xDКак ни странно, не давилась даже на макбуке 2012 года, а на этом с м1 макс уж и подавно.
И как успехи?
nucleus запускается, совсем лоулевел "драйвера" запускаются, шедулер работает. до старта "основной ос" не доходит (да, там "ос поверх ос"). за что-то надо дернуть, еще не нашла, за что xD
или возможно просто что-то прошивке не нравится и она втихую перестает дальше запускаться (но не выключается и не перестает перезапускать watchdog)
тот лог с фуллфлеша s65, если что.
Так он вроде работал? В соседнем комменте про это писали.
в соседнем комменте про видео, а не про 3d. ЕМНИП там стоял ati imageon из первых, у которых был opengles 1.1. и вот оно работало настолько плохо... что я не уверена, что он вообще использовался. xD
какую-то таблицу с указателями
посмотри на сеть. где-то там был пятерной указатель. xD
кажется, около dns.
Эх, ностальгия. Бессонные ночи, поиск функций в прошивке по паттернам (и методом тыка) для добавления в таблицу функций, портирование патчей от других моделей и написание эльфов. Поиск адресов падения в s-exit, первые попытки перестать экономить память и взять аж 256 байт сразу под конфиг, а не увеличивать это значение понемногу с каждой версией. Где-то до сих пор валяется архив с патчами, которые я так и не выложил, и прочим барахлом. Жаль, сам телефон после долгого лежания в столе перестал включаться.
Киллер-фичей Siemens были виртуальные SIM-карты. При чём их можно было сделать даже на M55, но было немного неудобно, что нужно было перезагружать телефон. На M65 и S75 можно уже выбрать карту из менюшки, подождать и пользоваться.
Буквально на днях купил Б/У Siemens 65 серии, ибо ностальгия. К сожалению узнал что Теле2 отказался от предоставления доступа в интернет GPRS. Кто-нибудь знает, можно ли собрать кабель-аналог DCA510 самому? Где взять распиновку?
Распиновка гуглится по x65 pionout. Она такая:
1 - зарядка (можно подать +5в от USB)
2 - GND
3 - TX
4 - RX
5 - CTS. Привязываем к земле (pin 2)
7 - DCD. Привязываем к земле (pin 2)
Большинство инструкций упускают что 5 и 7 ноги надо подтянуть к земле. А так - подойдет практически любой USB-UART с уровнями 3.3В. Для прошивки зарядка (pin 1) не нужна насколько я помню.
Так а зачем? DCA540 и собирать не нужно, только штекер да провод от старой мыши подпаять.
Так через него же шить нельзя. Помню, когда покупал кабель, специально брал 510-й по этой причине.
Шить — нельзя, да. Были (даже есть, если поискать) оба варианта. Помню в родном dca510 отвратное качество пластика, растрескался моментально.
Про шить в начальном комментарии не было. Вдруг человеку нужно картинки перекидывать, модемом воспользоваться, или смски бекапить)
Кабель откопал, кажется DCA510, проблема что в диспетчере устройств когда его подключишь - он не определяется, а когда телефон подключаешь - тогда начинает определяться, но как Unknown Device, VID_0000&PID_0000, дрова не ставятся, пытался вручную вдолбить дрова FTDI (COM<->USB), они отказались запускаться. С VID_0000&PID_0000 что-то можно сделать? Или это проблема кабеля?
Похоже что кабель не DCA510 или USB-UART чип сильно не в порядке. Я бы посоветовал найти исправный USB-UART и соеденить с имеющимся разъемом.
Скорее всего проблема кабеля. Мой даже без телефона определялся как USB-Serial Converter и в системе появлялся виртуальный COM-порт.
скорее всего это защита от контрафактных чипов, FTDI этим страдали. будет работать только со старыми драйверами (2.8.14 кажется), если прописать vid/pid в него обратно (гуглится по ftdi mprog). но проще взять любой другой usb-uart конвертер, лучше всего на ch340 - они точно могут в два мегабода и их дрова не страдают защитой от подделок.
Не буду писать много букв о том, как я это долго и мучительно отлаживал,
но в итоге у меня получилось скомпилировать работающий эльф.
Самые интересные моменты как раз и упущены. Важен же сам процесс, а не готовые мейкфайлы. И таких моментов в статье больше одного.
Ну сейчас вы судя по статье герой, а вот ошибки, на которые вы натыкались, чтобы на них не наткнулся кто-то другой в аналогичной ситуации, вы не указали, что делает ценность статьи минимальной. Только если вдруг кому-то не захотелось на точно таком же девайсе яблочко запустить.
Какая милота. Напомнил мне мое детство, правда я писал эльфы патчи для SE. Скучаю по тем временам.
Я на своем выставил вместо фона гифку с показаниями радиации. Достаешь так из кармана, смотришь с испуганым видом. "Уго у вас тут фон!"
Мне больше всего нравились эмуляторы и порт дума. Тогда это было очень круто.
С телефонов есть мс60 рабочий, сх75 в разобраном виде, но вроде тоже рабочий, el71 с дохлым шлейфом, без батареи но включается (дажу фул слил), е71 работает, но плохо сеть ловит. Последним купил sxg75 за 30 грн без батареи, но это уже не совсем то.
Кабель для прошивки сделал на ch340g, был старый на pl2102, но с ним часто бсоды прилетали
Кстати елка нормально тянула видео xvid 320x240 с хорошим битрейтом и фпс
Я в те времена благодаря Сименсу увлекся нетмониторингом. Был такой патч "miniGPS" - заменял название оператора на текст из файлика с именем, соответствующим CID-LAC текущей соты. И Java-редактор этих самых файликов к нему прилагался. Эх, сколько километров было пройдено в поисках немногочисленных базовых станций орловского Мегафона. Плюс каждую обойти кругом, чтоб поймать все сектора. И название для каждого понятное придумать, и на карту нанести... А еще во многих местах рядом стояли БСки разных операторов, и нужно было по уровню сигнала и задержке (или надписи на контейнере ?) определить, какая из них "моя". Через некоторое время принадлежность отдельно стоящих вышек мог определять на взгляд. В общем, веселые были времена, не то что сейчас, когда на каждом втором столбе микросота висит)
Да, иногда меня тянет тряхнуть стариной и я расставляю вышки в CellMapper ?
А еще сейчас есть "реестр санитаров", в котором можно искать БСки вообще не выходя из дома)
благодаря Сименсу увлекся нетмониторингом
Как раз похожий случай. Штатное меню, конечно, было непригодно, но раз измерения есть в памяти -- грех не воспользоваться. Дальше уже появилась подстветка по встроенной "БД", запись логов, привязка на конкретный канал. Сейчас на случайно сохранившиеся скриншоты без слёз не взглянешь, а как для 2006 очень помогало с хобби.


Вот бы кто сделал интервью с участниками сименс сцены. Valera V, smelter, cbn с его эмулями, kibab и его база патчей, avkiev, chaos, papuas, perk11, BoBa, SiNgle... Список может продолжаться бесконечно.
Про ресурсы Сименс клаб, конфликт орг с ру, вап клаб, аллсименс, кибаб, siepatchdb конфа в жаббере.
Bad Apple на SL45. :)
ЕМНИП вместо эльфов там были .bin (и веселье с релоками).
а вон то скорее всего на acevideo сделано, на j2me. оно там неплохо бегало.
Наоборот! У SL45 огромнейшее комьюнити моддеров. В целом, он считается первым смартфоном. В нём есть флешка, ик-порт, MP3-плеер, он умеет воспроизводить видео (думаю, так и запустили в ролике выше).
CX75, ностальгия. Собирал под него патч-сет для работы Jimm в фоне.
SX1 тоже был хорош. Тоже патч-сет под него собирал. Облегчали прошивку максимально, чтобы памяти свободной было больше. Даже на ослике где-то тема была про неё.
Классная статья, спасибо Гришка)
Было очень приятно вспомнить сименсы и их нюансы работы!
Я думал мне одному в 22 году захотелось Сименс помучать))
Нашел е71 на авито) товарищ подогнал 110 кабель) Правда под убунтой собрал пару эльфов старых?
Bad Apple на телефоне Siemens CX75