Перейти к содержанию
Old Phone Forum
  • Вход

    Вы сейчас не залогинены на форуме.

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

Задачи разработчикам


Снег

Рекомендуемые сообщения

Итак, перед нами стоит весьма сложная задача - переписать движок.

Это сложно, но можно.

Собственно, Алекс именно это и хотел сделать перед тем, как проект внезапно "замерз".

В папке ModelEngine в файле model_generic.pas лежит набросок тех методов, которые нужно реализовать для всех платформ, а местами и конкретных моделей (например, D500).

Основная сложность будет при реализации поддержки Agere.

 

Вот в этом направлении нам и надо думать.

 

Код, который выложен сейчас, нельзя собирать с включенными range checking и overflow checking. Будут ошибки.

Я с ними сейчас воюю, чтобы выложить изменения.

Заодно пытаюсь избавиться от memory leaks, коих там как грязи, но это уже мелочи.

 

 

Задача номер два. Куда меньшая и более простая.

Вынести загрузчики в отдельные файлы (с расширением ldr) и создать xml-файл с примерно таким содержанием:

<Loader_1>
<SWIFT>
  <common>swift_1.ldr</common>
		   <D500>D500_1.ldr</D500>
</SWIFT>
<SYSOL>
  <common>sysol_1.ldr</common>	  
		 </SYSOL>
</Loader_1>

 

Будут и другие задачи. В том числе и те, которые вы назовете.

 

P.S. Работаем с папкой "SGHFD 0.70 dev 0721i". 714 сборка - это старая версия, хотя билд у файлов выше. ;)

Мы рождены, чтоб сказку сделать пылью...

 

VishnyaSoft.com - мои программы и мидлеты для телефонов Samsung

 

Классификация телефонов Samsung

 

Угадай название телефона

Ссылка на комментарий
Поделиться на другие сайты

Предлагаю пока начать обсуждение второй задачи.

Итак, надо обсудить, какой формат файла будет (ini / xml / иное)

И какая у него будет структура.

 

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

К примеру, для свифтов:

 

Оба загрузчика находятся в файле /Spfe/spfe_loaders_swift.pas в виде двух массивов.

Если их вынести в отдельные файлы, то понадобится

1) переобъявить их как динамические массивы

2) добавить в юнит два блока: initialization и finalization, в которых эти массивы будут заполняться и очищаться

3) написать в блоке initialization необходимые проверки. Как минимум на непустые файлы и на кратность длины файлов.

для первого загрузчика длина должна быть кратна 4 (т.к. посылается он по 4 байта, не считая лидирующий байт с командой). Для второго кратность не проверяется, т.к. посылка идет по 2048 байт, но последний пакет заполнен не до конца.

4) не забыть про загрузчики для D500 - они отличаются от остальных свифтов.

 

А что будем делать с сисолами и агере?

Мы рождены, чтоб сказку сделать пылью...

 

VishnyaSoft.com - мои программы и мидлеты для телефонов Samsung

 

Классификация телефонов Samsung

 

Угадай название телефона

Ссылка на комментарий
Поделиться на другие сайты

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

Алекс сказал, что трогать можно всё, но не желательно что-то менять в протоколах обмена.

К примеру, я вот поменял SCRAM pointer с 0C000000 на 0D000000 и вроде беды не случилось. Но без полного понимания команды ее лучше менять. Поймем - надругаемся. А пока - не надо.

Сомневаетесь - спросите. Скорее всего, не вы одни такие. А кто-то знает и ответит.

  • Like 1

Мы рождены, чтоб сказку сделать пылью...

 

VishnyaSoft.com - мои программы и мидлеты для телефонов Samsung

 

Классификация телефонов Samsung

 

Угадай название телефона

Ссылка на комментарий
Поделиться на другие сайты

Фух.....вроде вернулся.... сорри за оффтоп

 

Думаю формат файла лучше сделать XmL так как он более универсален понятен да и компоненты для его обработки навалом да и свой не проблема написать....

 

Кто против?

 

Исходники скачаю гляну... сделаю набросок структуры

  • Like 1

Жизнь - пьяный поэт, я - слово.

Я жесток и грустен, когда ему херово.

Жизнь - старый поэт, жизнь - усталый поэт,

А я... Что я? Его инструмент!...

 

Разработка Broadcom: http://www.rk-team.net/

Новости проекта QuB на Twitter

Ссылка на комментарий
Поделиться на другие сайты

Попробовал вот такой вариант:

 

<?xml version='1.0' encoding='windows-1251' standalone='yes'?>
<loader>
<first>
	<swift>swift_1.ldr</swift>
	<D500>D500_1.ldr</D500>
</first>
<second>
	<swift>swift_2.ldr</swift>
	<D500>D500_2.ldr</D500>
</second>
</loader>

 

В этом случае юнит превращается в

var
 SPFE_Swift_Loader1_Length : Integer;
 SPFE_Swift_Loader2_Length : Integer;
 SPFE_D500_Loader1_Length : Integer;
 SPFE_D500_Loader2_Length : Integer;

var
 SPFE_Swift_Loader1: array of Byte;
 SPFE_Swift_Loader2: array of Byte;
 SPFE_D500_Loader1: array of Byte;
 SPFE_D500_Loader2: array of Byte;

procedure ImportLoaders;

implementation

procedure ImportLoaders;
begin
 XML_Func.ImportLoader('first/swift', SPFE_Swift_Loader1, SPFE_Swift_Loader1_Length);
 XML_Func.ImportLoader('second/swift', SPFE_Swift_Loader2, SPFE_Swift_Loader2_Length);

 XML_Func.ImportLoader('first/D500', SPFE_D500_Loader1, SPFE_D500_Loader1_Length);
 XML_Func.ImportLoader('second/D500', SPFE_D500_Loader2, SPFE_D500_Loader2_Length);
end;

 

Разумеется, мы заранее знаем, где лежит xml и сами лоадеры.

 

Сисолы с двумя загрузчиками также укладываются в эту схему.

Вот как-то так можно...

  • Like 1

Мы рождены, чтоб сказку сделать пылью...

 

VishnyaSoft.com - мои программы и мидлеты для телефонов Samsung

 

Классификация телефонов Samsung

 

Угадай название телефона

Ссылка на комментарий
Поделиться на другие сайты

  • 4 месяца спустя...

Блин..что то все затухло...

Не хорошо..

Михаил... АУ... если не сложно кинь в личку или на почту сорцы нового флешера..глянем понемногу ))

Жизнь - пьяный поэт, я - слово.

Я жесток и грустен, когда ему херово.

Жизнь - старый поэт, жизнь - усталый поэт,

А я... Что я? Его инструмент!...

 

Разработка Broadcom: http://www.rk-team.net/

Новости проекта QuB на Twitter

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


×
×
  • Создать...