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)

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

Отлично, спасибо за то что ткунул носом и сэкономил мне время, в общем посмотрел на эти срезы. Буду постить сюда инфу, может интересно будет кому почитать.

По поводу эмулятора NES/Dendy, исходников самого эмулятора которые китайцы обозвали XNES я в срезе кодовой базы не нашёл, только заголовочные файлы и скомпилированные бинари. Ещё парочка тестовых ROM’ов в пиратском формате NES и куча довольно качественно сделанных дизайнерских иконок с различными персонажами Nintendo вроде Mario и прочих, что как бы намекает на то, что на авторские права им пофиг и в этих телефонах вполне могли появиться ROM’ы самой Nintendo.

Далее, судя по заголовочным файлам – китайцы за основу XNES взяли древний японский эмулятор InfoNES под Windows, который японские разработчики выпустили под GPLv2. Тут кстати наверняка явное нарушение этой лицензии, возможно именно поэтому C/C++ код эмулятора был удалён из этих срезов. Но это просто догадка.

Исходники: https://www.zophar.net/download_file/2042

При этом само ядро эмулятора InfoNES явно модифицировалось судя по этим оставленным заголовочным файлам.

Исполняемые файлы в которые компилируются некоторые приложения, которые видимо не входят в стандартный образ прошивки, где всё слинковано в один огромный бинарь как это было принято у многих производителей телефонов, в общем они имеют расширение EXE, но это не PE, а что-то другое, выглядит так:

00000000  53 4b 50 4f 59 a2 0d 00  05 00 00 00 00 00 00 00  |SKPOY...........|
00000010  b0 24 00 00 04 00 00 00  d8 01 00 00 18 27 00 00  |.$...........'..|
00000020  87 a9 cb ed 01 00 00 00  30 31 32 33 34 35 36 37  |........01234567|
00000030  38 39 61 62 63 64 65 61  62 63 64 65 61 62 63 64  |89abcdeabcdeabcd|
00000040  65 57 52 45 73 6c 68 6d  7a 77 78 66 79 77 79 6a  |eWREslhmzwxfywyj|
00000050  0b 00 00 00 74 00 00 00  44 21 00 00 5c 21 00 00  |....t...D!..\!..|
00000060  d4 21 00 00 18 22 00 00  3c 22 00 00 5c 22 00 00  |.!..."..<"..\"..|

Дальше там наверняка скомпилированный ARM-машкод (а может быть байткод?), но я не ковырялся дальше. Кроме того, похоже имеется возможность распространять подобные приложения в пакетах с расшерением WPK. Они имеют такой вид:

00000000  64 00 62 00 41 00 33 00  42 00 34 00 38 00 45 00  |d.b.A.3.B.4.8.E.|
00000010  33 00 31 00 2d 00 46 00  41 00 32 00 36 00 2d 00  |3.1.-.F.A.2.6.-.|
00000020  34 00 32 00 36 00 66 00  2d 00 41 00 41 00 38 00  |4.2.6.f.-.A.A.8.|
00000030  46 00 2d 00 39 00 35 00  30 00 38 00 33 00 36 00  |F.-.9.5.0.8.3.6.|
00000040  36 00 33 00 30 00 44 00  34 00 45 00 6b 00 65 00  |6.3.0.D.4.E.k.e.|
00000050  79 00 74 00 65 00 73 00  74 00 2e 00 65 00 78 00  |y.t.e.s.t...e.x.|
00000060  65 00 00 00 78 9c ed 9b  77 58 54 57 db ee d7 30  |e...x...wXTW...0|
00000070  43 51 10 44 31 a2 4e 74  00 15 3e 95 0e 52 44 51  |CQ.D1.Nt..>..RDQ|
00000080  41 8a 82 05 90 22 58 28  43 91 2a 0c 82 05 c1 12  |A...."X(C.*.....|
00000090  8d 2d 58 50 31 16 48 34  8a 1d 54 2c a0 42 ec af  |.-XP1.H4..T,.B..|
000000a0  d8 b0 61 44 45 40 c5 a8  04 0b 08 52 66 ce b3 36  |..aDE@.....Rf..6|

Видно, что это какой-то архив с компрессией (EXE-файл весит больше чем WPK-пакет), в начале которого сохранилось название файла и GUID.

Сами эти пакеты видимо создаются по файлу-манифесту WREManifest.ini, который выглядит как типичное описание пакета:

[WREPARAMS]
Version=0.01.010
Caption=keytest
Description=this a game
GUID=A3B48E31-FA26-426f-AA8F-950836630D4E
IconName=keytest.jpg
PrivateDIR=data
ExeName=keytest.exe
Right=Copyright? 2011-2020

Вся кухня с запуском подобных приложений называется WRE. И похоже что этот эмулятор NES там должен быть примером такого WRE-приложения, не зря же он валяется в директории doc. В общем там же имеются и утилиты создания подобных EXE-бинарей из нативного кода, как и для создания WPK-пакетов, но дальше я не вникал.

Тут вот вопрос в том, а есть ли в существующих Spreadtrum-телефонах этот WRE с возможностью установки WPK-пакетов и запуска EXE-файлов с MAGIC’ом SKPOY? Если да, то это будет довольно интересно, потому что на основе этого можно было бы делать свои собственные прикладные программы, которые могли бы дёргать функции прошивки, рисовать GUI стандартными средствами и прочее подобное.

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

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

Разные эмуляторы http://suny-o.narod.ru/files/prog/games/Dendy.rar

http://www.opennet.ru/opennews/art.shtml?num=53522 Выпуск эмулятора игровых консолей RetroArch 1.9.0 Поддерживается использование эмуляторов таких консолей, как Atari 2600/7800/Jaguar/Lynx, Game Boy, Mega Drive, NES, Nintendo 64/DS, PCEngine, PSP, Sega 32X/CD, SuperNES и т.д.

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

Далее, по поводу Opera. Код различных версий тонких клиентов Mini Opera и Mobile Opera (исходников кстати не видел, только упоминания) покрыт копирайтами самой Opera, а это значит что Spreadtrum лицензировали или где-то взяли в другом месте у Opera Software ASA исходные коды этих тонких клиентов переведённые в нативный вид для последующего портирования на мобильные телефоны и другие портативные устройства.

Они довольно сильно перелопачены под использование с OS которая используется в этом Spreadtrum, не похоже что это именно Opera делала, скорее всего лицензировали какую-то общую базу и потом точили под UI и кухню этих китайских телефонов.

И да, подчеркну, что это именно нативные версии тонких клиентов Opera Mini и Mobile, которые по сути явлюятся аналогами Java-приложений и за счёт переноса на компилируемый код исполняемый CPU работают куда быстрее.

К сожалению это не полноценная мобильная Opera на богатом функциональностью движке Presto, которая была, к примеру, в телефонах Motorola использующих Linux (A1200, E2, E6, Z6 и куче других):

А очень жаль! Именно эти исходники мне было бы очень интересно увидеть и поковырять. Пользы от них куда как больше, можно было бы попробовать адаптировать их куда-нибудь на маломощные устройства.

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

https://github.com/nesbox/TIC-80 TIC-80 is a fantasy computer for making, playing and sharing tiny games. https://tic.computer https://habrahabr.ru/post/340502/ Создание платформера для виртуальной консоли TIC-80 https://medium.com/@btco_code/writing-a-platformer-for-the-tic-80-virtual-con...

https://github.com/nesbox/emulator Emulator of NES, Super Nintendo, Sega Mega Drive, GameBoy video consoles http://nesbox.com/emulator/

https://github.com/nesbox/libnesbox the emulator core library

https://github.com/nesbox/hx-node Raw Node.js type sigs for haXe

https://github.com/nesbox/time Experimental service which allows you to play retro games with Nesbox emulator. It's decentralized, crossplatform and works with torrents.

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

Теперь про встроенные игры и вообще структуру прошивки Spreadtrum, она очень схожа с таковой из утечки MTK. Немного другие фреймворки, немного другие названия методов и всего подобного, однако префикс-аббревиатура MMI очень широко встречается как в коде MTK, так и в коде Spreadtrum. Не знаешь, кстати, как именно она расшифровывается?

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

https://github.com/EXL/Magic-Sushi/blob/master/Magic-Sushi-Engine.c

Некоторая схожесть наблюдается, особенно в этом вездесущем MMI. Возможно созданием игр (а может быть и вообще всего ПО под MMI-префиксом) занималась одна и та же аутсорсинговая компания как для Spreadtrum, так и для MTK.

И ещё, где-то в утёкших исходниках MTK я видел что прошивка собирается с помощью древнего компилятора ADS, с которым я недавно ковырялся:

Программирование древнего и экзотического big-endian ARM

Так вот в утечке Spreadtrum этот же компилятор тоже используется явно:

        SIMPLE_PATH_NAME=Progra~1
        FULL_PATH_NAME  =Program Files
        ARM_HOME        =$(subst \,/,$(subst $(FULL_PATH_NAME),$(SIMPLE_PATH_NAME),$(RVCT31BIN)))
        ARMCC           ="$(ARM_HOME)/armcc"
        CC              ="$(ARM_HOME)/tcc"
        CPP             ="$(ARM_HOME)/tcpp"
        ASM             ="$(ARM_HOME)/armasm"
        LINK            ="$(ARM_HOME)/armlink"
        AR              ="$(ARM_HOME)/armar"
        FROMELF         ="$(ARM_HOME)/fromelf"
        ARMINC          ="$(subst \,/,$(subst $(FULL_PATH_NAME),$(SIMPLE_PATH_NAME),$(RVCT31INC)))"
        ARMLIB          ="$(subst \,/,$(subst $(FULL_PATH_NAME),$(SIMPLE_PATH_NAME),$(RVCT31LIB)))"

Похоже что раньше он был определённым стандартом для всех кто использовал процессоры ARM в своих устройствах. Та же Motorola тоже собирала им свои прошивки, наряду с компиляторами для собственных архитектур типа M*CORE и DSP56K.

У меня есть версии ARM C/C++ Compiler, ADS1.2 [Build 848] как для Linux, так и для Windows, если кому-то они нужны для разработки под эти древние телефоны, пишите по моим контактам в профиле (предпочтительнее в Telegram).

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

Хорошо, появились 12 мм. Я искал в мае 2016 года, как я уже написал, мне пока не особо надо. Мне просто стало интерестно, что у боксов-прошивальщиков в комплкете идут кабели/разъёмчики, которые к этому телефону не подойдут. Но, раз для SC6531 ничего особого не требуется, то хорошо.

Да, я тоже думаю, что ftp был для техподдержки разработчиков. Просто на 4pda и других форумах в то время (август 2016) радостно всех отправляли скачивать прошивки с этого сайта. А там PAC-файлов не особо, да и не сразу найдёшь. Летом 2017 я туда ещё заходил, там добавился один/два Mocor Droid и куча логов/дампов. Скачивать не стал.

Сейчас существует ftp://ftp.unisoc.com, но почему-то на форумах про него не пишут, видимо Unisoc по-другому с разработчиками стал взаимодействовать.

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

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

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

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

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

Я себе запорол мобилу на этом спредтруме. Криво прошилось и что-то там слетело. Смарт перестал видеть симки. Совсем. Отдал дочке мультики смотреть по вайфаю. Сам теперь этот унисок обхожу стороной.

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

для Spreadtrum это точно в «редких моделях», никакого присутствия в прошивке следов .mrp не нашел.

А платформа WRE и поддержка установки WPK-пакетов из файлового менеджера есть в каких-нибудь телефонах на Spreadtrum? В дереве исходников отчётливо прослеживается подобная среда запуска приложений и её обёртка в прошивке:

$ ls -alh FTPSPS-spreadtone.tar/spreadtone/SPCSS00031467/ya855_PDA_12BW13.07.rar/MOCOR_12B_6531.W13.07/wre/

drwxrwxr-x  5 exl exl 4096 Jun 26  2013 ./
drwxrwxr-x 28 exl exl 4096 Jan  4 04:24 ../
drwxrwxr-x  4 exl exl 4096 Jun 26  2013 doc/
drwxrwxr-x  4 exl exl 4096 Jun 26  2013 sdk/
drwxrwxr-x  4 exl exl 4096 Jun 26  2013 wrekernel/

$ ls -alh FTPSPS-spreadtone.tar/spreadtone/SPCSS00031467/ya855_PDA_12BW13.07.rar/MOCOR_12B_6531.W13.07/MS_MMI/source/mmi_app/app/wre_boot/c

drwxrwxr-x 2 exl exl   4096 Jan  5 02:05 ./
drwxrwxr-x 4 exl exl   4096 Jun 26  2013 ../
-rw-rw-r-- 1 exl exl  11143 Apr  2  2013 boot_stub.def
-rw-rw-r-- 1 exl exl  65017 Apr  2  2013 mmiwre_adaptor.c
-rw-rw-r-- 1 exl exl   8045 Apr  2  2013 mmiwre_app.c
-rw-rw-r-- 1 exl exl  10357 Apr  2  2013 mmiwre_boot_stub.c
-rw-rw-r-- 1 exl exl  29827 Apr  2  2013 mmiwre_cfg.c
-rw-rw-r-- 1 exl exl   8132 Apr  2  2013 mmiwre_charset.c
-rw-rw-r-- 1 exl exl   9260 Apr  2  2013 mmiwre_device.c
-rw-rw-r-- 1 exl exl   9082 Apr  2  2013 mmiwre_dial.c
-rw-rw-r-- 1 exl exl  29557 Apr  2  2013 mmiwre_export.c
-rw-rw-r-- 1 exl exl  10813 Apr  2  2013 mmiwre_file.c
-rw-rw-r-- 1 exl exl  11439 Apr  2  2013 mmiwre_font.c
-rw-rw-r-- 1 exl exl   5658 Apr  2  2013 mmiwre_gdi.c
-rw-rw-r-- 1 exl exl   1425 Apr  2  2013 mmiwre_id.c
-rw-rw-r-- 1 exl exl  15437 Apr  2  2013 mmiwre_image.c
-rw-rw-r-- 1 exl exl  14038 Apr  2  2013 mmiwre_ime.c
-rw-rw-r-- 1 exl exl  14868 Apr  2  2013 mmiwre_layer.c
-rw-rw-r-- 1 exl exl  74619 Apr  2  2013 mmiwre_media.c
-rw-rw-r-- 1 exl exl   2533 Apr  2  2013 mmiwre_menutable.c
-rw-rw-r-- 1 exl exl    712 Apr  2  2013 mmiwre_nv.c
-rw-rw-r-- 1 exl exl 151255 Apr  2  2013 mmiwre_other.c
-rw-rw-r-- 1 exl exl  33139 Apr  2  2013 mmiwre_pb.c
-rw-rw-r-- 1 exl exl   7690 Apr  2  2013 mmiwre_qbtheme.c
-rw-rw-r-- 1 exl exl   2711 Apr  2  2013 mmiwre_sema.c
-rw-rw-r-- 1 exl exl  23377 Apr  2  2013 mmiwre_socket.c
-rw-rw-r-- 1 exl exl 118394 Apr  2  2013 mmiwre_startup.c
-rw-rw-r-- 1 exl exl  22292 Apr  2  2013 mmiwre_tapi.c
-rw-rw-r-- 1 exl exl   7188 Apr  2  2013 mmiwre_thread.c
-rw-rw-r-- 1 exl exl   5323 Apr  2  2013 mmiwre_timer.c
-rw-rw-r-- 1 exl exl 296513 Apr  2  2013 mmiwre_videoplayer.c
-rw-rw-r-- 1 exl exl 108029 Apr  2  2013 mmiwre_wintab.c

В интернете тоже упоминается её существование:

Chinese handset processor company Spreadtrum Communications announced a partnership with online media company Sohu.com, to develop an app store supporting Spreadtrum’s WRE (Windows Runtime Environment) platform for feature phones.

Spreadtrum said that WRE is a middleware platform for mid-tier devices which enables apps to be loaded and updated post-sale, providing the same experience as smartphone handsets.

https://www.mobileworldlive.com/apps/news-apps/spreadtrum-and-sohucom-partner-for-feature-phone-app-store/

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

А платформа WRE и поддержка установки WPK-пакетов из файлового менеджера есть в каких-нибудь телефонах на Spreadtrum? В дереве исходников отчётливо прослеживается подобная среда запуска приложений и её обёртка в прошивке:

Я не вижу исходников wrekernel. В прошивках своих телефонов этого не нашел. Возможно для варваров из других стран они это не экспортируют. Может в 4МБ телефоны не влазит. Возможно нужно разрешение этой компании сделавшей WRE.

SKPOY

SKPO, Y - это просто данные рядом. O - скорее всего Object.

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

Может в 4МБ телефоны не влазит.

Бинари прошивок прогонял чем-нибудь вроде string *.bin | grep -i 'wre\|wpk'? Глухо?

SKPO, Y - это просто данные рядом. O - скорее всего Object.

А что дальше там идёт не вникал? Машкод под ARM или байткод?

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

Далее, по поводу Opera.
…это именно нативные версии тонких клиентов Opera Mini и Mobile

Это именно Mini — интерпретатор OBML, проприетарного бинарного языка разметки, выдаваемого внешним сервером–оптимизатором трафика. А Mobile — как раз таки полноценный браузер для мобильных устройств.

Либы, кстати, лежат в /code/Third-party/opera/

К сожалению это не полноценная мобильная Opera на богатом функциональностью движке Presto…
А очень жаль! Именно эти исходники мне было бы очень интересно увидеть и поковырять.

Не знаю насчёт мобильного, но десктопный Presto вполне возможно найти — когда Опера перешла на blink, старая версия оказалась слита на bitbucket неустановленными лицами. Репу быстро удалили, но срез, в виде файлика  opera12v15presto.tar.gz , до сих пор болтается в торрентах. Впрочем, не стоит идеализировать Presto. Мало того, что он сам довольно нестабилен и костыльно–велосипеден, так ещё и успел порядочно устареть (в современном вебе есть повальная мода на Shadow DOM и Custom Elements, к примеру).

Движок веб–браузера, в силу объёмов и сложности — практически бесполезен в отсутствие команды разработчиков, знакомых с кодовой базой и способных его поддерживать. А Presto не получится легально развивать и поддерживать при всём желании.

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

…прошивка собирается с помощью древнего компилятора ADS…
Похоже что раньше он был определённым стандартом для всех кто использовал процессоры ARM в своих устройствах.

Да, именно так. ARM Developer Suite. Потом на смену пришли RealView и Keil.

У меня есть версии ARM C/C++ Compiler, ADS1.2 [Build 848] как для Linux, так и для Windows, если кому-то они нужны…

Вроде до сих пор доступны с официального сайта, равно как и руководство пользователя к ним.

Что действительно хотелось бы найти, так это ARM–разновидность Green Hills Software C Compiler, также в составе GHS MULTI IDE, любых версий. Дико проприетарная штука, но в прошивках всяких японских устройств часто встречается.

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

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

«где карту открывали, туда и идите»™. То есть, к непосредственному производителю телефона, а не SoC. Либо к авторизованным сервисникам. Мы же не обращаемся, например, к Intel за биосом для материнки от ASUS или GIGABYTE. Хотя вендору исходники заготовок для этого биоса, базовый проект, документацию и поддержку предоставляет как раз Intel.

Тем более, они не могут знать доподлинно, что там накастомайзил конечный производитель, и содержимое фтп — наглядная тому иллюстрация. Тонны логов, прошивки и даже цельные проекты с печатными платами от разных внедренцев — «ой, мы всё поломали, помогите подебажить».

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

На китайском телефоне не написан производитель. Я пытался переводить иероглифы на внутренней стороне крышки своего LandRover, там какая фигня про «наивысочайшее качество и радиосертификат».

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

Где-то на 4pda писали, что в свое время, на дальнем востоке, так как там больше всего китайфонов, были сервисы, открытые китайцами, которые якобы китайфоны без всяких проблем починяли/перешивали. А у наших с этим сложности, и даже если нашлось второе такое же тело, то может не получится слить прошивку, а ещё хуже, окирпичить при снятии прошивки.

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

А Mobile — как раз таки полноценный браузер для мобильных устройств.

Да, точно, подзабыл про это. Он на Presto или на WebKit/Blink, кстати?

Либы, кстати, лежат в /code/Third-party/opera/

Но для Opera Mobile там нет ни исходников, ни либ. По-крайней мере я их не нашёл.

Не знаю насчёт мобильного, но десктопный Presto вполне возможно найти

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

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

Вроде до сих пор доступны с официального сайта, равно как и руководство пользователя к ним.

Спасибо за ссылку, не знал что ARM выложил их в открытый доступ. В нулевых их требовалось «доставать».

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

Бинари прошивок прогонял чем-нибудь вроде string *.bin | grep -i ‘wre|wpk’? Глухо?

wre и SKPO не нашел.

А что дальше там идёт не вникал? Машкод под ARM или байткод?

Раз в прошивках нет - то мне без разницы, и разбираться в формате который я никак не могу использовать - я не собираюсь.

to develop an app store

Стор это чаще всего «магазин», а не «склад». Так что заведомо проприетарная и закрытая, и сугубо коммерческая поделка. Чтобы продавать слепленные на коленке приложения. Наверняка так еще и защита от копирования прилагается, чтобы друг у друга не копировали не заплатив.

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

Раз в прошивках нет - то мне без разницы, и разбираться в формате который я никак не могу использовать - я не собираюсь.

Жаль что там объектников этого WRE нет, так как можно было бы попытаться их «встроить» в существующие прошивки.

Но вообще если будешь пилить поддержку кастомных приложений на MTK-телефонах лучше всего наверное брать ELF Loader и вооружиться опытом его портирования на телефоны прошлых лет: Siemens, Motorola, Sony Ericsson.

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

А ещё какие-нибудь документы касательно ADS 1.2 имеются?

Да, практически весь комплект документации выложен на сайте и гуглится по идентификаторам (DUI0xxx, DDI0xxx).

ARM Developer Suite Getting Started(pdf)
ADS Assembler Guide (pdf)
ADS Developer Guide (pdf)
AXD and armsd Debuggers Guide (только pdf)
ADS Debug Target Guide (pdf)
ADS Installation and License Management Guide (pdf)
ADS Linker and Utilities Guide (pdf)
CodeWarrior IDE Guide (pdf)

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

Это именно Mini…

Но для Opera Mobile там нет ни исходников, ни либ.

Да, именно это и имелось в виду.

Он на Presto или на WebKit/Blink, кстати?

И Mini и Mobile были на Presto. После перехода на вебкит мобильные версии назывались просто Opera, ЕМНИП.

Впрочем, как только перестали поддерживать Presto, далее особо не следил.

В этом срезе кстати были какие-то куски кода для всяких других платформ…

Если так, то возможно и получится собрать мобильную версию.

Не углублялся особо, но смутно помнится, что там была своя система сборки на питоне, и сборочные скрипты были только для десктопного варианта.

Quote
()

На всех своих SC6531 девайсах запустил, добавились Nobby 170B, BQ 3586 и смарт часы DZ09. И одном чужом: Nokia TA-1174.

Настройки для LCD хранятся не только в таблицах, а еще в виде хаков засунутых в разные места кода. Nobby, Nokia и DZ09 - подключение LCD через более сложный SPI режим.

На BQ 3586 подсветка включается через GPIO.

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