E71.RU E71.RU
Добро пожаловать, Гость! [ ИнфоБлокОбновленияУчастникиПравилаПоискFAQ-ЧаВо ] Регистрация недоступна • Вход RSS
Воскресенье, 22.12.2024
1 терапевт - это 1024 гигапевта или 1048576 мегапевтов.
  • Страница 1 из 1
  • 1
Модератор форума: St@lker, leha  
Обсуждение Библиотеки Функций
sim_emromДата: Четверг, 19.06.2008, 16:26 | Сообщение # 1
Человек
Имя: Сергей
С нами с: 04.05.2007
Сообщений: 1756
Награды: 41
Модель телефона: Realme 8 Pro
Статус: Offline
Вот вышла 21ая версия библиотеки для E71. Последние добавленные функции своими названиями обязаны именам функций на языке C из самой прошивки. Как следствие вывод - подобные функции профессионалы легко находят, а дать область поиска могут даже новички (как я).

Подобные исследовательские темы не очень популярны на этом форуме, так как нет ответа... И люди уходят в siemens-club.org. Но я считаю, что мы, как полноценный портал о телефонах Siemens, можем претендовать на стезю прошивкокопателей тоже.

В этой теме обсуждаем, дополняем библиотеки функций, помогаем, кто чем может.

 
sim_emromДата: Четверг, 19.06.2008, 16:26 | Сообщение # 2
Человек
Имя: Сергей
С нами с: 04.05.2007
Сообщений: 1756
Награды: 41
Модель телефона: Realme 8 Pro
Статус: Offline
В этой теме обсуждаем RAM наших телефонов.
A8000000, AC000000, AD000000 - вот адреса ОЗУ. В ARM Debugger полноценно доступны только A8X.

Вот, сделал дамп оперативки по адресу AD000000 - AD6DC000 (дальше были лишь FF).

Вложения: RAMe71AD.7z.001 (285.2 Kb) · RAMe71AD.7z.002 (285.2 Kb) · RAMe71AD.7z.003 (155.2 Kb)
 
dimonp25Дата: Четверг, 19.06.2008, 16:27 | Сообщение # 3
Патч-мастер
Имя: Ддимон
С нами с: 07.01.2008
Сообщений: 14
Награды: 2
Модель телефона: C81v51
Статус: Offline
В патче на е\ел71 "показ EDGE иконки в яве" есть одна интересная рамная ф - типа есть Ёж или нету.Но мне посоветовали не рамную добавлять,а обычную(она есть в патче "Добавление иконок в иконбар" на свн от Шадоуса) в либу(EL71v45):
патерн: IsEDGE = (P_IsBooleanVoid*) 0xA0D38A6B; //ELKA 9C 48 81 78 01 29+1
Как думаешь стоит добавить её в либу,и тогда можно написать эльф по определению ежа?
Раскопки этой ф на NSG пока еще ведутся


портирую ваши патчи под С81&S75
 
sim_emromДата: Четверг, 19.06.2008, 16:27 | Сообщение # 4
Человек
Имя: Сергей
С нами с: 04.05.2007
Сообщений: 1756
Награды: 41
Модель телефона: Realme 8 Pro
Статус: Offline
dimonp25, думаю, если это действительно РАМ-переменная подходящая для либы, то стоит её добавить.
И на NSG тоже... S75 поддерживает EDGE? Не помню... Но вообще NSG кроме S68 вроде все дружат с ежом. Надо и там добавить, тем более что ты портировал "Добавление иконок в иконбар из эльфов" туда.

ИМХО любые подходящие полезные данные из РАМ должны быть в либе.

 
rusC60Дата: Четверг, 19.06.2008, 16:27 | Сообщение # 5
Генерал-лейтенант
Имя: Руслан
С нами с: 09.05.2007
Сообщений: 685
Награды: 0
Модель телефона: 2xE71v45+Rover X7
Статус: Offline
Quote (sim_emrom)
И на NSG тоже... S75 поддерживает EDGE? Не помню... Но вообще NSG кроме S68 вроде все дружат с ежом.

S75 поддерживает EDGE well



S75 sw52, 2хE71 v45, EL71 v45, RoverPC X7, Samsung WiTu, Huawei Ideos X5
Samsung n145
 
sim_emromДата: Четверг, 19.06.2008, 16:27 | Сообщение # 6
Человек
Имя: Сергей
С нами с: 04.05.2007
Сообщений: 1756
Награды: 41
Модель телефона: Realme 8 Pro
Статус: Offline
Секция файла devices.ini программы ARM Debugger 0.7.9 © Chaos
для E71 (для EL71 должна быть идентична с другим заголовком):
Code
[BENQ-SIEMENS:E71:45]
Name = BenQ-Siemens E71 fw45
BootROMaddress = 0x400000;
BootROMsize = 0x100000;
FlashAddress = 0xa0000000;
FlashSize = 0x10000000;
IntRAM1address = 0x0;
IntRAM1size = 0x4000;
IntRAM2address = 0x80000;
IntRAM2size = 0x18000;
ExtRAMaddress = 0xa8000000;
ExtRAMsize = 0x01000000;
IOaddress = 0xf0000000;
IOsize = 0x10000000;
UseRAM = 0x89000;
Pool1Address=0xA8D89000;
Pool1Pages = 128;

Респект to Miha_r & shadows.
Не забудьте сгенерировать и поставить CGSN-патч.
Не видал ли кто в РАМ переменной, обозначающей язык ввода? Тогда можно будет переключать язык ввода каким-нибудь эльфом по нажатию горячей комбинации клавиш. Мелочь, а хотелось бы.
Возможно я не первый, кто туда нос суёт, но вот моя первая наводка:
В E71v45 по адресам от A05AF3E0 встречаются названия функций:
BTA_vBtGetLocalSupportedFeaturesReq
BTA_vBtGetLmpSleepingStatusReq
BTA_vBtGetScanModeReq
BTA_vBtGetPageScanActivityReq
BTA_vBt PowerLevelMeasurementReq
и т.п.

BTA - наверняка BlueTooth Adapter. Так что если есть желание сделать его доступным эльфам - go в ту зону...

Все указанные названия функций легко можно найти поиском в hex-редакторе в любой ФФ - дальше по адресам найденного идём в ARM Debugger или IDA как более медленный, но очень серъезный вариант.

 
_Vadim_Дата: Вторник, 24.06.2008, 19:21 | Сообщение # 7
Рядовой
Имя: Вадим
С нами с: 15.07.2007
Сообщений: 12
Награды: 0
Статус: Offline
Надеюсь, пишу по теме. На сайте inck.by.ru постоянно обновляется библиотека функций для E71v45. В ней нашел ошибку. Не знал куда написать, поэтому решил здесь.

Вот что заметил:
в библиотеке так
0930: 0xA0658FA0; 24C: __arm int GetPeripheryState (int device, int check_state);

так правильно
0930: 0xA0658FA1; 24C: __arm int GetPeripheryState (int device, int check_state);
Если не исправить, то эльф показывающий состояние Bluetooth(забыл название), вызывает пикофф.

Информацию по этим исправлениям нашел на форумах siemens-club.org и allsiemens.ru. Надеюсь эта информация окажется полезной. :)


Motorola C380 => B-S E71 (sw37 => sw42 => sw45 + ElfPack 2.3 + MP14 + Патчи) + 512Mb + KOSS Plug

Сообщение отредактировано _Vadim_ - Среда, 25.06.2008, 17:58
 
shadowsДата: Среда, 25.06.2008, 17:34 | Сообщение # 8
Рядовой
Имя: Константин
С нами с: 07.04.2008
Сообщений: 7
Награды: 0
Модель телефона: EL71v45
Статус: Offline
Quote (_Vadim_)
Вот что заметил:в библиотеке так00E4: 0xA06B18C0 ; 039: Registry_SetResourcePath(int HMIKeyID, int Prio, WSHDR *Path);

так правильно00E4: 0xA06B18C2 ; 039: Registry_SetResourcePath(int HMIKeyID, int Prio, WSHDR *Path);Эту функцию использует эльф WallpaperChanger, если не исправить, то при попытке сменить обоину пикофф


за это поставил минус, можно даже не открывая иду сказать, что не верно, запомните не бывает адресов кончающихся на 2,6, A,E. Обясняю популярно функции бывают в арме и тумбе, в арме инструкции занимает 4 баита, соответсвенно адреса кратны 4. в в тумбе инструкция занимает 2 баита, но для вызова к адресу надо прибавлять 1 , поэтому адреса таких функции нечетные
в данном случаи адрес функции правильный, а вот насчет второй (24C) все совершенно верно и надо поправить
 
ЖенькаДата: Среда, 25.06.2008, 19:09 | Сообщение # 9
обновитель :)
Имя: см. выше
С нами с: 22.05.2007
Сообщений: 125
Награды: 5
Модель телефона: HTC Touch Diamond
Статус: Offline
Quote (shadows)
надо поправить

поправил.


Библиотека для Е/EL71
Скоро вернусь...
 
g4m3rДата: Понедельник, 30.06.2008, 11:08 | Сообщение # 10
Полковник
Имя: ИЛЬШАТ
С нами с: 21.08.2007
Сообщений: 246
Награды: 0
Модель телефона: E71v45
Статус: Offline
вот две функции
011C: 0xA05C02BF ; 047: __thumb int HasFlashSMS();
0124: 0xA066C8E1 ; 049: __thumb int ReadFlashSMS(void);

нужны для работы эльфа AutoShowUSSD - авторазворачивание USSD на ГЭ

взято отсюда



 
sim_emromДата: Четверг, 13.11.2008, 13:34 | Сообщение # 11
Человек
Имя: Сергей
С нами с: 04.05.2007
Сообщений: 1756
Награды: 41
Модель телефона: Realme 8 Pro
Статус: Offline
Копнул патч funMarkus'а и нашёл функцию запуска скринсейвера. На моноблоки и EL71 отличаются паттерны, возможно нужны какие-то параметры, но вроде нет...

Всем, кто портировал патч "Моментальный запуск скринсейвера после заблок. клавиатуры": если при блокировке "Просмотр" вместо имени оператора и время не идёт, смените адрес, к которому ведёт оператор BL на следующие:

Code
RunScreenSaver(??)
//thumb
E71v45:  0xA0670B83
S68v52:  0xA02D78AB
S75v47:  0xA0303837
M81v51:  0xA0304773
EL71v45: 0xA06732B3

Паттерны для функции:
NSG+E71: RunScreenSaver() = 00,B5,91,B0,69,46,00,22,??,48+1
EL71 (слайдеры?): RunScreenSaver() = 80,B5,92,B0,69,46,00,22,??,48+1

Неизвестно, нужна ли эта функция в либе и какой займёт номер pardon


Впоследствии заменила функцию 020: DrawScreenSaver.


Сообщение отредактировано sim_emrom - Вторник, 19.05.2009, 09:00
 
ANDREДата: Четверг, 13.11.2008, 16:02 | Сообщение # 12
Лейтенант
Имя: Андрей
С нами с: 05.10.2007
Сообщений: 41
Награды: 1
Модель телефона: E71sw45, C75sw22
Статус: Offline
Кто-нибудь может помочь по функциям для радио?
вот несколько
fm_state()
fmdl_get_current_PLL_freq()
fmdl_get_stereo_status()
тогда может я напишу эльф
 
sim_emromДата: Четверг, 13.11.2008, 16:47 | Сообщение # 13
Человек
Имя: Сергей
С нами с: 04.05.2007
Сообщений: 1756
Награды: 41
Модель телефона: Realme 8 Pro
Статус: Offline
Андрей, тебе надо связаться с visad'ом, он тоже эти функции находил и хотел эльф-радио. Только он, кажется, сказал, что помогать с выяснением параметров никто не может... А я добавлю, что почти у всех крутых эльфописателей-патчеров елка, и радио у них соответственно нет.
 
Ganster41Дата: Вторник, 19.05.2009, 01:30 | Сообщение # 14
Подполковник
Имя: Леха
С нами с: 18.09.2008
Сообщений: 113
Награды: 4
Модель телефона: S75v47,E71Av45
Статус: Offline
В функции Obs_Graphics_SetClipping (0x260) ошибка в адресе как на e71, так и на el71, адрес указывает на конец предыдущей функции, руки бы портерам за такое поотрывать. Я полдня искал у себя ошибку, а оказалось кривая функция. К адресу нужно прибавить 0x04 в обоих случаях.
 
sim_emromДата: Вторник, 19.05.2009, 08:53 | Сообщение # 15
Человек
Имя: Сергей
С нами с: 04.05.2007
Сообщений: 1756
Награды: 41
Модель телефона: Realme 8 Pro
Статус: Offline
Ganster41, укажи, пожалуйста, конкретные адреса (а то Smelter и PatSearch по-разному c паттернами работают, да наверно так и так виноваты сами паттерны). Прикол в том, что эти функции были впервые открыты именно на платформе ELKA...

И, если можно, для каких эльфов нужна эта функция (любопытно просто).

 
Ganster41Дата: Вторник, 19.05.2009, 12:42 | Сообщение # 16
Подполковник
Имя: Леха
С нами с: 18.09.2008
Сообщений: 113
Награды: 4
Модель телефона: S75v47,E71Av45
Статус: Offline
Для E71v45 правильный адрес 0xA0CCBE54, EL71v45 0xA0CD85F8(елку я лично не проверял, Виктор89 сказал что там такая же ошибка). Достаточно открыть иду и посмотреть что находится по старому адресу, там идет возврат регистров со стека от предыдущей функции. А функцию эту пока никто похоже не использовал, я первый :) Для чего она мне пока говорить не буду...
 
ValravДата: Суббота, 17.10.2009, 01:35 | Сообщение # 17
Лейтенант
Имя: александр
С нами с: 15.10.2009
Сообщений: 49
Награды: 0
Модель телефона: е71
Статус: Offline
Ну и на каком этапе после прошивку нужно ставить эту библиотеку?

Sim: Да в любое время. Главное, чтобы при установке Master-патча и ElfPack он стоял или ставить это всё вместе.

Сообщение отредактировано sim_emrom - Суббота, 17.10.2009, 12:11
 
dimulkinДата: Суббота, 17.10.2009, 03:57 | Сообщение # 18
Генерал-лейтенант
Имя: Дмитрий
С нами с: 02.07.2007
Сообщений: 752
Награды: 9
Модель телефона: EL71v45(eng)+E71v45(eng)
Статус: Offline
Valrav, сразу после установки эльлоудера ....

Флуд - бессмысленные,с точки зрения здравого смысла модератора, сообщения.
 
Danil_e71Дата: Среда, 08.12.2010, 17:57 | Сообщение # 19
Генерал-майор
Имя: Даниил Корековцев
С нами с: 04.03.2009
Сообщений: 334
Награды: 6
Модель телефона: 89601864950
Статус: Offline
можно бы обновить либы))

для el71sw45

Code
08F4: 0xA0F38775 ; 23D: __arm void MD5_Init(MD5_CTX *c);
08F8: 0xA0F383E5 ; 23E: __arm void MD5_Update(MD5_CTX *c, const void *data, unsigned long len);
08FC: 0xA0F3867D ; 23F: __arm void MD5_Final(unsigned char *md, MD5_CTX *c);
0900: 0xA0F2C961 ; 240: __arm char *MD5_Hash(const unsigned char *data, unsigned long n, unsigned char *md=NULL);
09B8: 0xA0CD1390 ; 26E  __arm int Obs_Sound_SetAMRFrmPrBuf(HObj hobj, int nof_frames);
09BC: 0xA0CD1214 ; 26F  __arm int Obs_Sound_SetAMRFormat(HObj hobj, int format);
09C0: 0xA0CD1138 ; 270  __arm int Obs_Sound_SetAMRDTX(HObj hobj, int dtx);
09C4: 0xA0CD1050 ; 271  __arm int Obs_Sound_SetNofChannels(HObj hobj, int num_channels);
09C8: 0xA0CD0F78 ; 272  __arm int Obs_Sound_SetAMRMode(HObj hobj, int data_rate);
09CC: 0xA0CD0CB0 ; 273  __arm int Obs_Sound_SetFIsRecording(HObj hobj, int fIsRecording);
09D0: 0xA0CD0B1C ; 274  __arm int Obs_Sound_SetMaxFileSize(HObj hobj, int max_file_size);
09D4: 0xA0CD02BC ; 275  __arm int Obs_Sound_SetRecordingMode(HObj hobj, int RecordingMode);
09D8: 0xA0CD97AC ; 276  __arm int Obs_SetOutput_File (HObj hObj, WSHDR *path);
09DC: 0xA0CDC4D8 ; 277  __arm int Obs_SetOutput_Uid(HObj hObj, int OutUID);
09E0: 0xA0CD1648 ; 278  __arm int Obs_Sound_SetBitrate(HObj hobj, int bitRate);

для e71sw45

Code

09B8: 0xA0CC4BEC ; 26E  __arm int Obs_Sound_SetAMRFrmPrBuf(HObj hobj, int nof_frames);
09BC: 0xA0CC4A70 ; 26F  __arm int Obs_Sound_SetAMRFormat(HObj hobj, int format);
09C0: 0xA0CC4994 ; 270  __arm int Obs_Sound_SetAMRDTX(HObj hobj, int dtx);
09C4: 0xA0CC48AC ; 271  __arm int Obs_Sound_SetNofChannels(HObj hobj, int num_channels);
09C8: 0xA0CC47D4 ; 272  __arm int Obs_Sound_SetAMRMode(HObj hobj, int data_rate);
09CC: 0xA0CC450C ; 273  __arm int Obs_Sound_SetFIsRecording(HObj hobj, int fIsRecording);
09D0: 0xA0CC4378 ; 274  __arm int Obs_Sound_SetMaxFileSize(HObj hobj, int max_file_size);
09D4: 0xA0CC3B18 ; 275  __arm int Obs_Sound_SetRecordingMode(HObj hobj, int RecordingMode);
09D8: 0xA0CCD008 ; 276  __arm int Obs_SetOutput_File (HObj hObj, WSHDR *path);
09DC: 0xA0CCFD34 ; 277  __arm int Obs_SetOutput_Uid(HObj hObj, int OutUID);
09E0: 0xA0CC4EA4 ; 278  __arm int Obs_Sound_SetBitrate(HObj hobj, int bitRate);
 
Danil_e71Дата: Суббота, 08.12.2012, 03:26 | Сообщение # 20
Генерал-майор
Имя: Даниил Корековцев
С нами с: 04.03.2009
Сообщений: 334
Награды: 6
Модель телефона: 89601864950
Статус: Offline
Если кому еще интересно:
EL71sw45
Указатель на текущий буфер экрана
Code
0xA8EA9128

если выключена камера то указатель на RamScreenBuffer()
если включена камера то указатель на Буфер Камеры
 
  • Страница 1 из 1
  • 1
Поиск:
Использование материалов сайта возможно только при согласовании с администрацией