LINUX.ORG.RU

Исходники порта Doom для кнопочных телефонов на чипе SC6531

 , , , ,


4

3

Опубликованы исходники порта Doom для кнопочных телефонов на чипе Spreadtrum SC6531. Модификации чипа Spreadtrum SC6531 занимают около половины рынка дешевых кнопочных телефонов российских брендов (остальное за MediaTek MT6261, другие чипы редкость).

В чём состояла сложность портирования:

  1. Сторонние приложения на этих телефонах не предусмотрены.
  2. Малый объём ОЗУ - всего 4 мегабайта (бренды/продавцы часто указывают это как 32МБ - но это введение в заблуждение, так как мегабиты, а не мегабайты).
  3. Закрытая документация (можно найти только утечку ранней и неполноценной версии), поэтому многое добывалось методом реверс-инжиниринга.

В основе чипа процессор ARM926EJ-S с частотой 208 МГц (SC6531E) или 312 МГц (SC6531DA), может понижать частоту до 26 МГц, архитектура процессора ARMv5TEJ (нет деления и операций с плавающей точкой).

Пока что исследована работа лишь малой части чипа, это USB, экран и клавиши. Поэтому поиграть можно только при телефоне подключенном к компьютеру USB кабелем (ресурсы для игры передаются с компьютера), также в игре нет звука.

На данный момент запускается на 6-и из 9-и протестированных телефонов на чипе SC6531. Для перевода этого чипа в загрузочный режим, нужно знать какую клавишу удерживать при загрузке, клавиши для протестированных моделей: F+ F256: *, Digma LINX B241: центр, F+ Ezzy 4: 1, Joy’s S21: 0, Vertex M115: вверх, Vertex C323: 0.

Также были опубликованы два видео: с демонстрацией игры на телефоне и запуском на еще 4-х телефонах.

P.S.: Похожее было опубликовано на OpenNet, новость от меня, только отредактированная админом сайта.

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

Игра Doom была использована для привлечения внимания, в качестве примера, я бы хотел свободную прошивку для кнопочных телефонов. Их чипы гораздо мощнее, чем они используются в прошивке. Причём железо дешевое и массовое, в отличие от редких телефонов с «открытых» ОС или позволяющих выполнять свой код. Пока никого не нашел, чтобы скооперироваться, а реверс-инжиниринг тяжелое развлечение. Для начала было бы хорошо найти управление SD картой и управление энергопотреблением, чтобы можно было использовать эти телефоны как игровую приставку. Дополнительно к Doom можно портировать NES/SNES эмулятор.

>>> Исходный код



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от EXL

Всё-таки было бы круто найти в прошивке этих кнопочных телефонов какую-нибудь уязвимость типа срыва стека…

Вот чего–чего, а уязвимостей там наверняка и так хватает. Настолько, что боязливо использовать эти телефоны по прямому назначению.

Поэтому и интересна скорее полностью своя прошивка, открытая и без левых закладок.

Quote
()
Ответ на: комментарий от Quote

Вот очень интересная статья от @ValdikSS на эту тему:

Правда, если бы у меня было больше времени и мне были интересны эти убогие китайские звонилки, я бы тот же пункт «FunBox» в прошивке телефона не забивал nop’ами, а интегрировал туда какую-нибудь простенькую запускалку ELF-приложений, которые могли бы дёргать функции самой прошивки.

EXL ★★★★★
()
Ответ на: комментарий от Quote

Если код отпущен в Public Domain, это явно должно быть указано.

Добавил Unlicense.

Прямой копипасты нет, но некоторые вещи вроде разгона/иициализации RAM, это длинный алгоритм, что по другому не напишешь, ибо я не знаю что все эти числа делают. Хотя это наполовину конфигурация конкретного RAM чипа памяти, что производителю чипа SoC не принадлежит, и по другому не сделаешь.

jpegqs
() автор топика
Последнее исправление: jpegqs (всего исправлений: 1)

А есть какие-нибудь проекты написания альтернативной ОС для таких звонилок?

juan-pablo-segundo
()
Ответ на: комментарий от Quote

Оригинальный досовский дум (не doom95) шёл в 320x200.

Это движок такую картинку рендерил, но монитор работал на разрешении 640x480.

Rodegast ★★★★★
()
Ответ на: комментарий от Rodegast

но монитор работал на разрешении 640x480

И оно софтово скейлилось? ) Ямщик, ты гонишь, дум разных версий работал в 13h и mode y. Оба режима 320х200.

GAMer ★★★★★
()

У меня есть подобный аппарат на процессоре Speadtrum, но с сенсорным экраном, выглядел как полноценный брендовый. Купил спонтанно на улице (без НЛП не обошлось). Кстати, пока батарея не сдохла, держался без зарядки по несколько дней, но с микрофоном какая-то беда, отрегулировать не удалось. Там есть несколько игрушек в стиле старинных для приставок и даже кажется можно ещё подгружать. СМС платные действительно может слать, что-то там было. Не помню, как лечилось, похоже просто полным сбросом.

Забавно, что недавно взял для дачи один убитый аппарат с поддержкой LTE 800 (Band20). Оказалось он тоже на процессоре Speadtrum. Но там андроид полноценный. Какие-то кнопочные аппараты продаются с поддержкой LTE, велика вероятность, что тоже из этой ниши.

poshat ★★★
()

Автор - молодец, очень полезное дело по реверс-инжинирингу недокументированного массового железа.

jekader ★★★★★
()
Ответ на: комментарий от GAMer

И оно софтово скейлилось? )

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

Rodegast ★★★★★
()

Сейчас подтвержу все диагнозы относительно меня… Автор порта, какой телефон самый дешевый рекомендуешь чтобы запустить на нем Doom? Из поддерживаемых. Или есть смысл купить тот что чуть дороже, но зато будет больше экран? Чтобы легко было залить

I-Love-Microsoft ★★★★★
()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от Rodegast

Не, там нативно было 320x200, это даже по высоте пикселей было видно, 320x240 было бы лучше, в том числе и для этого предположения

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от Rodegast

Еще более потоплю эту версию. Наконец, можно сравнить объем видеопамяти, где 8 битный (палитра) на 320x200 было близко к пределу

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Автор порта, какой телефон самый дешевый рекомендуешь чтобы запустить на нем Doom? Из поддерживаемых. Или есть смысл купить тот что чуть дороже, но зато будет больше экран? Чтобы легко было залить

А может имеет смысл не брать эти невнятные китайские телефоны, а взять кнопочный телефон с полноценным Linux внутри? Можно что-нибудь из старого по типу Motorola ROKR EM30, ROKR E8, ROKR E2, MING A1200, тысяча их. А можно что-то из нового на KaiOS. Они тупо интереснее и там будет возможность запустить не только DOOM не теряя функциональность самой прошивки, но и Quake, Quake II и даже Half-Life:

https://baat.exlmoto.ru/~exl_lab/movies/Half_Life_on_Motorola_ZN5_Xash3D_FWGS_engine.mp4

EXL ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Автор порта, какой телефон самый дешевый рекомендуешь чтобы запустить на нем Doom?

Самое дешевое брал за 377р, и это потому что распродажа была, у продавца последние оставались.

Посмотрите что из списка протестированного на гитхабе есть. С экраном 128x128 брать не советую, на таком я обрезаю края экрана, хоть играть можно и так, если очень хочется. На экранах 128x160 делаю даунскейл в два раза, считайте что FSAA 2x2. Это самый доступный вариант, можно найти близко к 500р и даже дешевле, но цена доходит и до тысячи.

Телефоны с экраном 240x320 стоят в среднем тысячу рублей.

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

Есть модели с SC6531H, которые на самом деле SC6531E, но с 8МБ памяти и IPS экраном 320x480, вот это комфортно для глаз. Я один такой купил, но не смог разобраться с экраном, изображение на нём показывается, но подсветка включается на мгновение и гаснет на несколько секунд. В прошивке работает нормально, а у меня нет. Причину найти не смог. Такие стоят две тысячи и выше, я брал на распродаже за 1400р.

Если просто чтобы немного побаловаться, и 500р вообще не жалко, то берите с разрешением 128x160 из списка протестированного.

jpegqs
() автор топика
Ответ на: комментарий от EXL

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

jpegqs
() автор топика
Ответ на: комментарий от EXL

А может имеет смысл не брать эти невнятные китайские телефоны, а взять кнопочный телефон с полноценным Linux внутри? Можно что-нибудь из старого по типу Motorola ROKR EM30, ROKR E8, ROKR E2, MING A1200, тысяча их.

Что из этого еще продаётся? Полагаю что ничего. Если только восстановленное и б/у с сопутствующими проблемами.

jpegqs
() автор топика
Ответ на: комментарий от jpegqs

Устройства на KaiOS вполне себе продаются до сих пор и даже как-то там развиваются.

А так по качеству даже восстановленные и б/у старые мобилки будут получше китайских кнопочных звонилок. По-крайней мере они не будут рассылать платные SMS’ки, что уже неоспоримый плюс.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Устройства на KaiOS вполне себе продаются до сих пор и даже как-то там развиваются.

По сути кнопочный смартфон, на чипе смартфона -> низкое время работы. ОС при этом не особо открытая, а только чуть-чуть.

А приложения на… JavaScript, это вообще смешно. Как я понимаю нативных вообще не предусмотрено? Или кому попало делать не дают?

В общем KaiOS - это совсем не свобода, а лишь чуть больше свободы.

jpegqs
() автор топика
Ответ на: комментарий от jpegqs

Не могу ответить на твои вопросы, не особо следил за KaiOS, а вот на старых Linux-телефонах, которые я перечислил нативные приложения можно было запускать без особых проблем.

Как я понимаю нативных вообще не предусмотрено? Или кому попало делать не дают?

DOOM там как минимум запускается и вполне себе плавно работает:

И наверняка функциональность прошивки (возможность ответа на звонки) при этом не пропадает.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от EXL

DOOM там как минимум запускается и вполне себе плавно работает:

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

jpegqs
() автор топика
Ответ на: комментарий от ValdikSS

Во многих моделях и так есть запускалка ELF-приложений. И на Mediatek (MRE, .vxp), и для Spreadtrum (MiniJ, .mrp).

Не вводите в заблуждение про многие модели, для Spreadtrum это точно в «редких моделях», никакого присутствия в прошивке следов .mrp не нашел. Полагаю что и с Mediatek так же, но проверить пока не могу (не разобрался что за модификацией LZMA сжата часть прошивки).

Уточнение к моему комментарию: Исходники KaiOS нашел. Так как это выросло из FirefoxOS, который в свою очередь вырос из идеи копирования ChromeOS - мне противна сама идея всего этого, а именно, что ОС представляет собой браузер и всё приложения - это Web приложения. Так что всех, кто будет мне советовать попробовать KaiOS - буду отправлять лесом.

jpegqs
() автор топика
Ответ на: комментарий от jpegqs

Где-то в 2015 году скачал всё что смог с ftp://ftp.spreadtrum.com, сейчас это один tar-архив в 32 Гбайт, куда его в такм виде выкладывать не знаю, да и не гуммано это, наверно, нужно по отдельным каталогам упаковать. Там, ИМХО, много мусора. Выложил tar-архив каталога 6531 размером 1,2 Гбайт сюда: https://cloud.mail.ru/public/sZ1y/et9Xgpbag . Там есть MOCOR_12C.W13.04.05.rar , я тогда решил, что это исходники. Или на гугл диске: https://drive.google.com/drive/folders/1pEBNeDJcfjZ_Rghsu_26oHd_coJ3F3eN

Если не качается, скажите куда залить. Но у меня аккаунты только mail.ru и gmail. И 32 Гб нет.

2 Quote, а Mocor и MocorDroid это не разные ОС? Вроде, клоном андройда был MocorDroid.

mky ★★★★★
()
Ответ на: комментарий от mky

Выложил tar-архив каталога 6531…
Там есть MOCOR_12C.W13.04.05.rar…

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

а Mocor и MocorDroid это не разные ОС?

По сути разные и существовали параллельно — огрызок андроида для более мощных девайсов, и поделка на основе ThreadX для совсем уж слабосильных, с малым количеством RAM. Но потом MocorDroid вроде как переименовали в просто MOCOR.

Просто тот LandRover X9 что мне попадался — это была монструозная раскладушка и по виду как раз с огрызком андроида. Но, кажется, там был MTK, а не Spreadtrum. Впрочем, могу ошибаться — особо не ковырял, хотел взять, но прошёл мимо в тот раз.

скажите куда залить.

Самое банальное — mega.nz. Устанавливаются megatools и прям из терминала можно и зарегать аккаунт, и подтвердить его, и заливать, и скачивать. Единственное, понадобится throwaway-почта для регистрации на каждый аккаунт.

Также есть Anonfiles, тоже можно заливать curl'ом из терминала, без регистрации и смс. Но веб-фронтенд зароскомнадзорен в РФ, для получения ссылки нужен vpn. API и CDN доступны, заливать и скачивать уже полученные ссылки можно.

На крайняк, (если не боязно светить айпишник или есть сидбокс) можно сделать торрент на публичных трекерах и раздать magnet-ссылку.

Quote
()
Последнее исправление: Quote (всего исправлений: 2)
Ответ на: комментарий от mky

Сегодня нашел, что исходники Nucleus OS когда-то выдавали в виде Evaluation версии, но надо было заполнить форму о себе.

Spreadtrum наверное бы не стали прям исходники выдавать, если бы они представляли тайну. Но может теперь политики компании изменилась.

Большое спасибо, это похоже на исходники ОС, только это либо SC6531DA или SC6531E, в формате прошивок SC6531DA это SC6530, а SC6531E это SC6531EFM.

А вот идентификатор полученный из контрольных регистров чипа SC6531E - это 6562. Есть ли директория 6562 в вашем дампе ftp? Если есть, то тоже пригодится. С гугла почему-то скачать не смог, с мейла получилось.

P.S.: Нашел где проверить - это исходники к SC6531DA, SC6531E тогда должны быть как 6562.

jpegqs
() автор топика
Ответ на: комментарий от jpegqs

Кстати, еще на гитхабе, в исходниках к другим чипам Spreadtrum заметил эту двойную опечатку в копирайте:

Spreatrum, Incoporated

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

jpegqs
() автор топика
Ответ на: комментарий от Quote

Но потом MocorDroid вроде как переименовали в просто MOCOR.

Mocor на Android (версии 4.4) теперь называется Mocor5 OS.

jpegqs
() автор топика

архитектура процессора ARMv5TEJ (нет деления и операций с плавающей точкой).

Так в думе FPU и не использовался. Без деления печально, конечно, но мегагерцы нивелируют.

madcore ★★★★★
()
Ответ на: комментарий от jpegqs

Файлик со списком файлов в папочке: https://cloud.mail.ru/public/ArW4/1EzEghdHX туда же переместил 6531.tar

там куча непонятно чего, какие-то логи в том числе. Но 6562 нет.

Крупные каталоги — по одному в архив, остальное будет в файле FTPSPS-rest.tar.

Сейчас по кускам заливают на mega.nz, но медленно. https://mega.nz/folder/lmxhAa6D#fxhe2ej4_RyClCkR8pyrlA
https://mega.nz/folder/ArR3wSSJ#6N3p1VMAgAiLyMdJvKD_HQ

Какая цель у того ftp-серверва была непонятно. Логи/пароль лежали на форумах и легко гуглились.

mky ★★★★★
()
Ответ на: комментарий от mky

В директории itel может быть версия для E, ну или просто какая-то более новая. Там еще несколько Droid версий валяется (не в этой директории, а в других).

jpegqs
() автор топика
Последнее исправление: jpegqs (всего исправлений: 1)
Ответ на: комментарий от Quote

Да, LandRover X9 это раскладушка, с тачскрином и wifi. MAFAM её близнец. При таких наворотах я думал, что там будет относительно нормальная прошивка. А там оказался нечто сырое, например, включаем ФМ-радио, крутим громкость потише, а потом выясняется, что это и громкость разговора или нерабочие кнопки на крышке, которые по идее позволяют сбросить звонок и т.д.

На многих сайтах указан MTK, но я, почему-то уверен, что там Spreadtrum, либо я его разбирал, либо по usb-id, точно не помню.

Я думал купить второй, чтобы с него слить прошивку, но как-то истории на форумах меня пугали, что как-то у народа кирпичатся телефоны на Spreadtrum и Драконом, и Вулканом. Плюс я не понял, нужно ли покупать box или программа по обычному usb-кабелю заработает. Там прикол в том, что у него глубоко порт находится и до контактов достаёт только его родной micro USB, у обычного микроUSB металлическая часть около 6 мм длиной, на алике продаётся 9 мм длиной, а у этого телефона 11 мм.

Очень интересно поглядеть на остальные каталоги.

В процессе. Ссылки в моём предыдущем посте. Скорость около 1 Мбайт/с, если не будет разрывов, к утру зальётся.

mky ★★★★★
()

К слову, если кто будет ковырять прошивки (коих в бинарном виде тоже было прилично на пресловутом фтп), есть распаковщик .pac–файлов:

  https://github.com/divinebird/pacextractor  

Quote
()
Ответ на: комментарий от mky

Плюс я не понял, нужно ли покупать box или программа по обычному usb-кабелю заработает.

По обычному.

Там прикол в том, что у него глубоко порт находится и до контактов достаёт только его родной micro USB, у обычного микроUSB металлическая часть около 6 мм длиной, на алике продаётся 9 мм длиной, а у этого телефона 11 мм.

Да, это проблема, на али брал Boot cable (не надо искать загрузочную клавишу), где металлическая часть длиннее обычного, но и там замер показывает лишь 8 мм.

Сложил itel на mail.ru.

Спасибо, тоже исходники к DA, отличить можно поиском этих констант:

ADI_ARM_STS: DA = base + 0x20, E = base + 4
ADI_STS_FIFO_FULL_MASK: DA = BIT_9, E = BIT_22

Эта утечка похоже что 2014 года, а утечка недоделанной документации к E-чипу датируется 2016-м, следовательно того нового чипа еще не существовало.

Сейчас в продаже больше E, чем DA, и E ставится на телефоны с более крупным экраном, а DA на дешевые с мелким. Не смотря на то, что старый DA в полтора раза мощнее по частоте. И если снять ограничение кадров, то Doom и правда быстрее на DA работает.

Видимо был слишком сильный чип для кнопочных и его урезали.

Разница между модификациями - это другой Analog Die, и другие глобальные регистры самого чипа, там всё сильно разное. Причём глобальные регистры подсистем почти не изменились, у USB забрали несколько эндпоинтов в E, поэтому эндпоинты сместились. Заметно что E - это несколько урезанная версия, не только по частоте. Хотя выглядит и более простой для программирования, и похоже на работу над ошибками.

Судя по информации из википедии, Mediatek тоже снизили частоты своего чипа для кнопочных телефонов: MT6260 работал на 364 МГц, а MT6261 только на 260 МГц.

jpegqs
() автор топика
Последнее исправление: jpegqs (всего исправлений: 2)
Ответ на: комментарий от jpegqs

Всё закачалось на mega.nz, вроде доступно, пару архивов скачал, проверил.

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

Прочитал вашу статью на хабре и про spd_dump. Возникли такие вопросы. Везде пишут, что нельзя в телефон заливать произвольную прошивку, что там есть области памяти, которые нельзя переписывать, а то изображение будет перевёрнутым и т.д. Это про какую память? При дампе прошивки эти данные дампятся или нет? Если в телефон залить ваш doom, а потом оригинальную прошивку, то труба потом нормально работает, ничего не отваливается?

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

mky ★★★★★
()
Ответ на: комментарий от mky

Прочитал вашу статью на хабре и про spd_dump. Возникли такие вопросы. Везде пишут, что нельзя в телефон заливать произвольную прошивку, что там есть области памяти, которые нельзя переписывать, а то изображение будет перевёрнутым и т.д. Это про какую память? При дампе прошивки эти данные дампятся или нет? Если в телефон залить ваш doom, а потом оригинальную прошивку, то труба потом нормально работает, ничего не отваливается?

Да, нельзя, не будет работать. На 4pda кто-то пробовал, писал что клавиши не работают.

Я с этим разбирался, когда этот порт делал. Чтобы на многих телефонах работало. Клавиши находятся в таблице keymap, которую надо взять из старой прошивки и перенести в новую. Также контакты процессора могут иметь разные функции и это хранится в таблице pinmap. Эти таблицы мой код ищет в прошивке и делает инициализацию по ним. keymap находится не всегда, иногда заныкан в сжатую область прошивки. Также нужно чтобы LCD телефона поддерживался в новой прошивке (или переносить таблицы и код инициализации этого LCD). Может еще какие-то структуры надо переносить чтобы всё работало, но это самое основное.

Еще у разных прошивок некая структура, хранится в стоковых прошивках с именем nvitem_release.bin, располагается по разным адресам. Похоже к сотовой связи имеет отношение. Так что её двигать надо или брать из новой прошивки.

Мой дум пишется в оперативную память, а не в прошивку. Флэш память вообще не трогается. Так что никаких следов не остаётся.

jpegqs
() автор топика
Ответ на: комментарий от mky

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

Бут процесс самого чипа стартует? Если стартует, значит живой, только прошивка испорчена.

jpegqs
() автор топика
Ответ на: комментарий от jpegqs

Да, испорчена только прошивка, но непонятно почему. И чем не могу вспомнить.

Мой дум пишется в оперативную память

То есть при загрузке по usb или как это правильно называется, SC6531 гарантировано пишет код, получаемый по usb, в ОЗУ, флеш не трогает?

Да, нельзя, не будет работать. На 4pda кто-то пробовал, писал что клавиши не работают.

То есть spd_dump дампит не всё? Или там вобще часть памяти нельзя сдампить? Я всё не могу понять, можно ли с одного телефона прочитать все данные, чтобы восстановить другой (одинаковой модели).

mky ★★★★★
()
Ответ на: комментарий от mky

То есть при загрузке по usb или как это правильно называется, SC6531 гарантировано пишет код, получаемый по usb, в ОЗУ, флеш не трогает?

До перезаписи флэша я не дошел еще, но если использовать FDL из прошивок, а не свой код, то сделать просто.

Это называется download mode, код инициализации из ROM чипа (90 КБ), сам флэш не умеет перезаписывать, а ждёт когда ему дадут адрес для записи кода (в ОЗУ чипа или внешнем) и сам код. SC6531E даже не может использовать ОЗУ с платы, то есть внешний ОЗУ для чипа. У чипа есть внутренний ОЗУ, которого около 32 КБ. Сначала код пишется туда (это FDL1), он инициализирует внешний ОЗУ, которого обычно 4 МБ, и загружает туда следующий код (FDL2 или просто FDL).

FDL2 уже может принимать команды для перезаписи флэш памяти. Или читать флэш и некоторую память (не даёт прочитать ROM чипа).

У меня FDL1 может читать и флэш, и любую память (для дампа), а вместо FDL2 игра.

То есть spd_dump дампит не всё? Или там вобще часть памяти нельзя сдампить? Я всё не могу понять, можно ли с одного телефона прочитать все данные, чтобы восстановить другой (одинаковой модели).

Дампит всё, если это SC6531 и правильно размер указали. Только это дамп флэш одним куском (прошивка + добавки к ней + рабочие данные), а не как в .pac файлах оригинальных.

jpegqs
() автор топика
Ответ на: комментарий от GREAT-DNG

Смотри, смотри!

Я вчера на смарт часах запустил (на чипе SC6531), только играть нельзя, потому что не знаю как Bluetooth работает на этом чипе. Плату со смарт часов можно в такую игрушку вставить.

jpegqs
() автор топика
Последнее исправление: jpegqs (всего исправлений: 1)
Ответ на: комментарий от mky

Всё закачалось на mega.nz, вроде доступно, пару архивов скачал, проверил.

Да, всё скачалось.

Увы, фтп похоже был предназначен для техподдержки внедренцев спредтрумовских чипов. Основную массу содержимого составляют трейсы/логи и тестовые прошивки. Также есть некоторое количество медиафайлов, в том числе демонстрирующих отдельные баги. И, как можно предположить, исходники там появились скорее по халатности этих самых внедренцев, нежели чем по желанию спредтрума.

Тем не менее, по итогам беглого просмотра нашлось как минимум три среза дерева сырцов MOCOR:

FTPSPR-1/FTPSPS-spreadtone.tar/spreadtone/SPCSS00031467/ya855_PDA_12BW13.07.rar/ya855_spreadtrum/MOCOR_12B_6531.W13.07
FTPSPR-2/FTPSPS-6531.tar/6531/MOCOR_12C.W13.04.05.rar/MOCOR_12C.W13.04.05/code                                         
FTPSPR-2/FTPSPS-itel.tar/itel/MOCOR_12C.W13.04.14_Source_1111111111.rar/MOCOR_12C.W13.04.14_Source_1111111111

К слову, в самом дереве нашлось забавное: ./MS_MMI/source/mmi_app/app/sales/sales.c Это та самая закладка, описанная ValdikSS, когда при первом включении телефон отстукивается на захардкоженный url, с номером SIM, IMEI и прочая.

 

Там прикол в том, что у него глубоко порт находится и до контактов достаёт только его родной micro USB, у обычного микроUSB металлическая часть около 6 мм длиной, на алике продаётся 9 мм длиной, а у этого телефона 11 мм…

Гуглится по « Micro USB 12mm ». Можно найти как на али ( https://aliexpress.com/item/4000230314444.html ), так и в местном DNS ( https://www.dns-shop.ru/product/39d79570b97e3332/ ).

Quote
()
Последнее исправление: Quote (всего исправлений: 1)
Ответ на: комментарий от Quote

Кстати, такой вопрос, нет ли в этих утёкших исходниках сорцов встроенных игр или даже игр от Gameloft в их сборке Android?

Насколько я помню у Spreadtrum были контракты с ними.

EXL ★★★★★
()
Ответ на: комментарий от EXL

сорцов встроенных игр

По почте ответил: есть несколько, наверное очень простых. Змейка, наверное сокобан и еще какие-то.

jpegqs
() автор топика
Ответ на: комментарий от EXL

От android-разновидности плафтормы в вышеупомянутом массиве данных попадались пока только скомпилированные прошивки.

…Gameloft…
…контракты с ними…

Предположу, что контракты скорее массово с внедренцами. Судя по тому что есть, Spreadtrum поставлял платформу, чипы и заготовку базовой OS, которую можно уже доработать напильником под конкретное железо (камеры, дисплеи, сенсоры, и т.п.) и дополнить софтом по желанию.

Игры есть простенькие встроенные:

./MS_MMI/source/mmi_app/app/game/
├── game_boxman
├── game_bubblebobble
├── game_manager
├── game_goldminer
├── game_quintet
├── game_link
├── game_square
├── game_manager
├── game_quintet
├── game_snake
└── game_square

Есть NES-эмулятор:

./nes/xnes_init.h
./wre/doc/nes按键版本批处理工具和按键键值配置说明

Есть Opera Mini (нативная)

./MS_MMI/source/mmi_app/app/operamini4
./MS_MMI/source/mmi_app/app/operamini6

Quote
()
Ответ на: комментарий от jpegqs

Да, спасибо, прочитал. Интресно будет сравнить игровой фреймворк с тем, что было у MTK.

EXL ★★★★★
()
Ответ на: комментарий от Quote

Есть Opera Mini (нативная)

Есть NES-эмулятор:

О, вот это интересно. Уточни, пожалуйста, в каком TAR и RAR архиве находится эта директория MS_MMI? А то что-то сильно много файлов вывалили, все перекачивать чтобы искать – лень.

EXL ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.