motofan logo
2 страниц V  1 2 >        
> 

Ещё один шаг к универсальности, phone.db

om2804
сообщение 22.1.2008, 15:44


МотоКодер
******

Группа: Разработчики
Сообщений: 786
Регистрация: 14.8.2006
Из: Архангельск
Пользователь №: 95 055
Модель телефона: E398
Прошивка: DaR
Победитель конкурса 2008

Рейтинг: 1650



Идея в том, чтобы создать единую базу, из которой эльфы будут брать значения оффсетов в симах, инвентов и всего, что для каждой прошивки разное.
Файл имеет имя phone.db. Для каждой прошивки свой. Любое значение в базе занимает 4 байта. Каждое значение жёстко привязано к своему смещению в базе. В качестве параметра ниже приведённой функции используется как раз это смещение в базе.
Кидать его в папку /b/Elf/

Прочитать значение из базы можно следующей функцией
Код

// оффсеты значений в базе
#define KEYPAD_LOCK        0
#define WORKING_TABLE     4




UINT32 fReadDB(UINT32 offset)
{
    UINT32 result=0;
    UINT32 readen;
    FILE_HANDLE_T f;

    WCHAR baseName[32] = L"file://b/Elf/phone.db";

    if (DL_FsFFileExist( baseName) == TRUE ) // проверяем есть ли файл
    {
        f = DL_FsOpenFile(baseName, FILE_READ_MODE, 0);
        if(f!=0x0000FFFF) // проверяем открыт ли файл
        {
            DL_FsFSeekFile( f,  offset, 0);
            DL_FsReadFile( &result, 4, 1, f, &readen );
            DL_FsCloseFile(f);
        }    
    }        
    
    return result;
}


Например, чтоб узнать заблокирована клавиатура или нет можно так
Код

UINT32 offsetLock=0; // оффсет в базе телефона
UINT8 bLock=0; // 1-клава заблок., 0-разблок.
// читаем оффсет из phone.db
offsetLock =  fReadDB(KEYPAD_LOCK);
DL_DbFeatureGetCurrentState( offsetLock, &bLock  );


Только за, если кто то будет пополнять базу

Сообщение отредактировал om2804 - 23.1.2008, 14:19
Прикрепленный файл 373_49.zip   ( 250 байт ) Кол-во скачиваний: 733
Прикрепленный файл 373_79.zip   ( 250 байт ) Кол-во скачиваний: 262
Прикрепленный файл R4441D_G_08.01.03R.zip   ( 298 байт ) Кол-во скачиваний: 198
Прикрепленный файл E0R_RB.zip   ( 250 байт ) Кол-во скачиваний: 225
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
G-XaD
сообщение 22.1.2008, 21:14


Мастер
****

Группа: Разработчики
Сообщений: 171
Регистрация: 6.11.2007
Из: Donetsk City / Ukraine
Пользователь №: 153 083
Модель телефона: E1, k810
Прошивка: r373_g_0e.30.79r

Рейтинг: 323



Надо бы проверить мое предположение.
Паттерна для поиска где можно найти в прошивке инфу для KeyPadLock. Получаем оффсет, по которому читаем 4 байта (UINT32) нужной нам инфы.
r373_49r и r373_79r - удачно.
r4513_g_08.b7.aer_rb - неудачно.

Код
db_state_KP_LOCK_OFFSET D 0000????00000BB800001388005265C0


Сообщение отредактировал G-XaD - 22.1.2008, 21:20
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
RekGRpth
сообщение 23.1.2008, 5:01


Начинающий патчер
****

Группа: Пользователи
Сообщений: 234
Регистрация: 6.11.2006
Пользователь №: 106 009
Модель телефона: RoverPC N6
Прошивка: WM 6.1

Рейтинг: 359.5



1) А почему начали с блокировки клавы заполнять?! ИМХО, нужно начать по-порядку заполнять с самого начала офсетов и ивентов, и ваще создать 2 файла типа
offsets.db
events.db
т.к. есть одинаковые номера офсетов и ивентов
2) Зачем читать весь файл, когда можно прочитать только по нужному смещению 4 байта?!
3) файлы эти ДОЛЖНЫ БЫТЬ БИНАРНЫМИ, а не текстовыми!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Alesha_Pl
сообщение 23.1.2008, 6:33


Гуру
******

Группа: Почётные мотофаны
Сообщений: 986
Регистрация: 19.5.2005
Из: Россия, г.Петрозаводск
Пользователь №: 42 716
Модель телефона: e398
Прошивка: 49R+EP1+EP2

Рейтинг: 681



om2804,
т.е. если у ульфа написано, что он использует этот файл, то без него эльф не работает? Я поставил себе на 42 прошивку phone.db от 49 прошивки. редменю и автоблок вроде работают как надо. Так что пока он подходит для 42 прошивки. Это я так для информации пишу.

Сообщение отредактировал Alesha_Pl - 23.1.2008, 10:59
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
om2804
сообщение 23.1.2008, 11:23


МотоКодер
******

Группа: Разработчики
Сообщений: 786
Регистрация: 14.8.2006
Из: Архангельск
Пользователь №: 95 055
Модель телефона: E398
Прошивка: DaR
Победитель конкурса 2008

Рейтинг: 1650



RekGRpth
2) Исправил
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 23.1.2008, 21:34


0xFFFF
******

Группа: Разработчики
Сообщений: 832
Регистрация: 28.3.2006
Из: Нижний Новгород
Пользователь №: 76 255
Модель телефона: E398, Milestone 2
Прошивка: 49R w/ElfPack2


Настроение:
^^,



Рейтинг: 1224



Цитата(RekGRpth @ Вчера, 8:01)

Зачем читать весь файл, когда можно прочитать только по нужному смещению 4 байта?!
*

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

Сообщение отредактировал Andy51 - 23.1.2008, 21:35
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
kadukmm
сообщение 24.1.2008, 10:33


Интересующийся
**

Группа: Разработчики
Сообщений: 83
Регистрация: 23.2.2007
Из: Украина, г. Винница
Пользователь №: 123 713
Модель телефона: Samsung SGH-I400
Прошивка: R373_49R&Symbian 9.1

Рейтинг: 120



Цитата(Andy51 @ 23.1.2008, 23:34) *

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

Ну да закешировать этот файл при запуску тела по определенному адресу а потом с него читать...

Но все-таки я согласен с RekGRpth, лучше сделать два файла один для оффсетов а второй для ивентов... и вообще это все дело автоматизировать, я думаю, и встроить в порткит.

Сообщение отредактировал kadukmm - 24.1.2008, 10:34
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
N!kola
сообщение 27.1.2008, 11:05


Опытный
***

Группа: Пользователи
Сообщений: 126
Регистрация: 11.8.2007
Из: Сербия
Пользователь №: 144 136
Модель телефона: E398(x2) | ROKR E8
Прошивка: Anarchy48R | Z-Mod

Рейтинг: 22



So phone.db for 49R, works on 42R also? I will try, thank you
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Panda China
сообщение 28.1.2008, 16:15


Новичок
*

Группа: Пользователи
Сообщений: 18
Регистрация: 28.1.2008
Пользователь №: 161 616
Модель телефона: L7

Рейтинг: 24



Здравствуйте!

Помогает мне изготовить

R4513_G_08.B7.ACR_RB Phone.db

Добавлено позже (28.1.2008, 16:32):
Help me

OM2804

shout.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
svpFido
сообщение 28.1.2008, 16:36


Мастер
****

Группа: Пользователи
Сообщений: 231
Регистрация: 27.3.2006
Пользователь №: 75 929
Модель телефона: L7e Z3
Прошивка: Ava-ava lanche

Рейтинг: 16



но для l7e и подобных все равно надо ковыряцо в прошивке и искать функции?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Ещё один шаг к универсальности, phone.db · Эльфы, их разработка и портирование · Forum
 

2 страниц V  1 2 >
Закрытая темаСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.4.2024, 18:04

Форум живёт: