motofan logo
16 страниц V « < 9 10 11 12 13 > »         
> 

Учимся писать эльфов вместе, Обсуждение процесса кодинга

Andy51
сообщение 29.10.2007, 20:13 Закрепленное сообщение!


0xFFFF
******

Группа: Разработчики
Сообщений: 832
Регистрация: 28.3.2006
Из: Нижний Новгород
Пользователь №: 76 255

Рейтинг: 1224



Вот и долгожданное обновление SDK до v0.2

Основные новшества с прошлой версии:
+ Добавлено множество функций в SDK
+ Добавлено два новых примера - на этот раз GUI

Что внутри:
Папка SDK - ну, и так ясно, заголовочные файлы. За описаниями функций заглядываем в эту папку.

helloworld_snd - первый пример эльфа. Несколько нестандартный HelloWorld, заменяет озвучку цифровой клавиатуры системными звуками. Предназначен в основном для изучения структуры приложения (Application), ну и как пример приложения, работающего в фоне.

helloworld_gui - классический HelloWorld эльф, на этот раз с использованием GUI. Выводит сообщение с помощью диалога Notice. Предназначен для изучения структуры простейшего GUI-приложения.

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

make_*.bat - батники для сборки эльфов-примеров. Эльфы расчитаны на компиляцию с комплектом ADS. Из-за правил форума, я не могу включить его в SDK, однако оставляю ссылки
http://ifolder.ru/3937671
http://slil.ru/25060171
http://rapidshare.com/files/67580866/ads.7z.html

Lib.o - для функционирования эльфа под моим загрузчиком, необходимо подлинковать этот файл к проекту (в make.bat уже прописан).
Внимание! Этот файл не зависит от конкретной версии прошивки, под которую собирается эльф, но, тем не менее, зависит от версии библиотеки!
В этом SDK уже включен Lib.o для библиотеки v071218 (оч. старый - не забудьте обновить, если понадобятся новые функции)

Пара слов об т.н. Application.
В телефонах motorola есть система AFW, которая позволяет, не затрачивая лишних ресурсов процессора на обеспечение "полноценной" многозадачности, достаточно полноценно работать нескольким приложениям, ориентированным на диалог с пользователем. Как это работает: приложения представляют собой, фактически, набор обработчиков событий(ивентов, events) + структура данных приложения. Откликаясь на те или иные события, приложения поочерёдно обрабатывают списки накопившихся ивентов. Таким образом, мы фактически имеем невытесняющую многозадачность.
Есть теоретическая возможность писать и эльфы, выделенные в отдельный процесс(task), но эта часть всё ещё в разработке.

Книги по Си
  1. Руководство полного идиота по программированию (на языке Си) - Не смотря на такое название все азы разжёваны. Если вы вообще никогда не видели Си, начните с этой книги
  2. Герберт Шилдт, "Полный справочник по С (4-е издание)"
    Прикрепленный файл Spr_po_C.rar   ( 934.62 килобайт ) Кол-во скачиваний: 1153
  3. "Язык программирования C"
    Прикрепленный файл C_book.zip   ( 220.86 килобайт ) Кол-во скачиваний: 897
Исходники эльфов
  1. SRC by om2804
  2. SRC by G-XaD
SDK
  1. SDK by om2804
  2. SDK by G-XaD
Эльфостроение на motoWiki

Компилятор + исходники от om2804 для EP1 скачать

Сообщение отредактировал om2804 - 3.5.2011, 13:59
Прикрепленный файл SDKv02.rar   ( 24.88 килобайт ) Кол-во скачиваний: 2172
Прикрепленный файл C_book.zip   ( 220.86 килобайт ) Кол-во скачиваний: 897
Прикрепленный файл Spr_po_C.rar   ( 934.62 килобайт ) Кол-во скачиваний: 1153
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
K-E-N-N-Y
сообщение 17.8.2009, 7:43


MotoCrazy^^
*****

Группа: Пользователи
Сообщений: 608
Регистрация: 9.4.2008
Из: Саратов
Пользователь №: 169 076
Модель телефона: Optimus P500
Прошивка: Android 2.2.1
Победитель конкурса 2008

Рейтинг: 533



Для тех кто хочет научится владеть языком Си на уровне чайника,приглашаю на свой сайт,где я выкладываю примеры работ простых программ,операторы которых встречаются в эльфах.
Надеюсь эти примеры помогут вам и мы увидем больше разработчиков на МФ smile.gif
туц

Сообщение отредактировал K-E-N-N-Y - 17.8.2009, 7:43
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
rock88
сообщение 17.8.2009, 11:25


Мастер
****

Группа: Пользователи
Сообщений: 209
Регистрация: 26.6.2009
Из: г. Омск
Пользователь №: 201 900
Модель телефона: L9 & EM30
Прошивка: 05R & 04.06R

Рейтинг: 584



tim apple, что-то не выводит ничего таким способом, может там масив должен быть такова вида:
{0x00,0x00,0x00,0xFF,0x00,0xFF...} ?
у меня такой
{0,0,0,0,1,1,1,0...}
и черный экран и все.

Цитата
кстати, эльфы из твоей подписи рибутят тоже

незнаю почему, в калькулятор и кубик на канвасе, норм должно быть, а кубик на драйвере и CHIP8.elf я делал, взяв за основу сорцы Lines, надо тему как в патчах создать "Комната Тестирования Патчей. Нужны быстрые тестеры" biggrin.gif

у меня с либой 6.4 вечный ребут...

Сообщение отредактировал rock88 - 17.8.2009, 11:30
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
K-E-N-N-Y
сообщение 17.8.2009, 12:06


MotoCrazy^^
*****

Группа: Пользователи
Сообщений: 608
Регистрация: 9.4.2008
Из: Саратов
Пользователь №: 169 076
Модель телефона: Optimus P500
Прошивка: Android 2.2.1
Победитель конкурса 2008

Рейтинг: 533



Друзья мои,я конечно понимаю что здесь куча умных людей и что я еще очень далек от этого,но я не заставляю их открывать именно эту тему и критиковать меня.
Я решил выложить примеры простых операторов на Си (конечно еще не всех,там только малая часть,но зато постоянно обновляющаяся) что бы новички в этом деле хоть немного поняли что такое язык Си,что их будет ожидать если они захотят писать эльфы,а не для того что бы люди которые это знали писали здесь какой я дурак,зачем это все и т.д.
Я никого не заставляю читать это и пробовать (в конце концов я от этого пользы или денежного дохода не имею),если интересно - читайте,нет - так нет.
З.Ы. после публикования моего сообщения о том сайте,мне написал человек в асю и начал спрашивать про эльфы,с чего начать,как научиться их делать и т.д. так что я не думаю,что моя статься на моем блоге будет совершенно бесполезна.
Спасибо за внимание.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
tim apple
сообщение 17.8.2009, 12:40


Мастер
****

Группа: Разработчики
Сообщений: 260
Регистрация: 13.7.2007
Из: РФ, Башкирия, Стерлитамак
Пользователь №: 141 375
Модель телефона: ---
Прошивка: ---

Рейтинг: 435



Цитата(rock88 @ Сегодня, 17:25)

может там масив должен быть такова вида:
{0x00,0x00,0x00,0xFF,0x00,0xFF...} ?
*


не-не-не =) раз уж ты спрашивал про 2 цвета, так и сделал - индексированный цвет с палитрой из 2х элементов. если хочешь иметь все 256 цветов то палитра должна быть полной - 256 элементов.
я так понял, что ты делаешь эмулятор. а на приставках обычно индексированный цвет. потому так показал.
а вообще для наших дисплеев АТИ родным является режим RGB565 - палитра не нужна, под цвет отдается 16 бит.

Цитата(rock88 @ Сегодня, 17:25)

что-то не выводит ничего таким способом
*


писал "на коленке", будет время - сделаю рабочую демку (если сам не разберешся к тому времени)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 17.8.2009, 12:47


0xFFFF
******

Группа: Разработчики
Сообщений: 832
Регистрация: 28.3.2006
Из: Нижний Новгород
Пользователь №: 76 255

Рейтинг: 1224



K-E-N-N-Y, да всё отлично, продолжай писать статьи. smile.gif Вот только проверь разметку страницы - часть кода с выравниванием по центру у меня, да и код без отступов читается тяжело (baat не в счёт, он наверно уникум). Ещё инклуды пропали куда-то, осталось только "#include // для getch()" вместо "#include <conio.h>". И хорошо бы побольше комментариев и описаний, а то просто куски кода, причём довольно сложных для такого уровня.
В общем, если продолжишь развивать ресурс до непосредственно написания эльфов - будет просто замечательно. Может быть, лучше будет для следующей статьи материалом взять скелетное приложение, типа helloworld_snd, и вставлять подобные по функциональности куски кода в него, попутно разбирая устройство приложения? Только подожди немного, как будет набор разработчика под EP2, чтоб переделывать статью не пришлось, там и консольный вывод есть.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
K-E-N-N-Y
сообщение 17.8.2009, 12:54


MotoCrazy^^
*****

Группа: Пользователи
Сообщений: 608
Регистрация: 9.4.2008
Из: Саратов
Пользователь №: 169 076
Модель телефона: Optimus P500
Прошивка: Android 2.2.1
Победитель конкурса 2008

Рейтинг: 533



Andy51, я попытаюсь,просто в последнее время начали болеть глаза от компа,так что теперь будут проводить меньше времени за ним sad.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
rock88
сообщение 17.8.2009, 15:02


Мастер
****

Группа: Пользователи
Сообщений: 209
Регистрация: 26.6.2009
Из: г. Омск
Пользователь №: 201 900
Модель телефона: L9 & EM30
Прошивка: 05R & 04.06R

Рейтинг: 584



после установки EP2 еще больше тормозить стало (вроде бы)

тут процессор, даже не процессор а интерпритированный язык программирования использовавшийся на микрокомпьютерах COSMAC VIP и RCA's TELMAC 1800 в конце 1970-х годов, эмулируется кодом в ~100 строчек и этот код крутится в 50 милисекундном таймере, а щас сделал управление, вообще тормозит и виснет, так что в первую очередь, думаю нужно оптимизировать это дело, только пока непредставляю каким образом
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
om2804
сообщение 17.8.2009, 15:34


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

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

Рейтинг: 1650



переходить с Canvas на драйвера дисплея. Канва очень тормазнутая, тормознутей, чем в яве

Добавлено позже (17.8.2009, 19:39):
Кстати, было бы не плохо здесь описать как работать с дровами дисплея, с теорией и примером smile.gif
Но это уже, намерное, к tim apple
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
baat
сообщение 17.8.2009, 15:46


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



om2804, так исходниеи линий есть, куда лучший пример?... по моему хороший...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
baat
сообщение 17.8.2009, 16:38


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



K-E-N-N-Y, чуток перемудреный код... не надо очень умные книги читать))) лучше чуток попроще...
а лучше всего по исходникам эльфов разбиратся...
можно тож статью создать на твоем сайте, и там отписаться о том что ты понял в них, чтоб новечкам проще было разобратся... может другие будут дописывать что тебе не понятно в исходниках...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 17.8.2009, 19:07


0xFFFF
******

Группа: Разработчики
Сообщений: 832
Регистрация: 28.3.2006
Из: Нижний Новгород
Пользователь №: 76 255

Рейтинг: 1224



baat, K-E-N-N-Y, у нас кстати на сайте вики есть (в самом верху страницы ссылка), пылится и спамом зарастает. Я думаю, что никто не будет против, если её припахать для описания эльфописания wink.gif Osta, что скажешь?

Сообщение отредактировал Andy51 - 17.8.2009, 19:07
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fkcoder
сообщение 17.8.2009, 19:48


Eve
******

Группа: Разработчики
Сообщений: 1 014
Регистрация: 31.1.2006
Из: Новокузнецк
Пользователь №: 68 287
Модель телефона: L9 ATRIX 4G iPhone SE E1

Рейтинг: 650



Раз вы тут начали об этом, выложу то что я начинал в конце того года и так и не закончил( много тупого там - ибо тогда эльфы не писал еще)

Прикрепленный файл my.7z   ( 25.06 килобайт ) Кол-во скачиваний: 167
Прикрепленный файл my.7z   ( 25.06 килобайт ) Кол-во скачиваний: 167
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
baat
сообщение 17.8.2009, 20:38


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



хороший файлик, тема не та была...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Danation
сообщение 18.8.2009, 6:30


Новичок
*

Группа: Пользователи
Сообщений: 11
Регистрация: 20.5.2009
Пользователь №: 199 870
Модель телефона: K1
Прошивка: R452F_G_08.03.08R

Рейтинг: 0



I apologize if this is the wrong place to post. If so, please direct me to the correct place.

I am trying to write some code that will play a simple .mp3 file. I looked at the code from TalkClock, and I thought I copied the relevant portions, but I seem to be doing something wrong.

How do you play sounds? Please post some lines of code if possible.


Translated by A51:

Извиняюсь, если запостил не туда. Если так, то, пожалуйста, отошлите в нужное место.

Я пытаюсь написать код, который будет играть обычный .mp3 файл. Я посмотрел в исходниках TalkClock, и скопировал соответствующие части кода, как мне казалось. Но похоже, сделал что-то не так.

Как играть звуки? Пожалуйста, запостите несколько строк кода, если не трудно.


Сообщение отредактировал Andy51 - 18.8.2009, 9:47
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 18.8.2009, 12:34


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



/* Регистрируем приложение */
status = APP_Register( &evcode_base, // На какое событие должно запускаться приложение
1, // Кол-во событий, на которое должно запускаться приложение
state_handling_table, // Таблица состояний
HW_STATE_MAX, // Количество состояний
(void*)startApp ); // Функция, вызываемая при запуске


u_atou(file_uri, nameCfgFile);
nameCfgFile[u_strlen(nameCfgFile)-3] = 0;
u_strcat(nameCfgFile, L"mp3"); // наш музыкальный файл имя эльфа.mp3

if (DL_FsFFileExist( nameCfgFile)) // проверяем есть ли файл
{ MME_GC_playback_open_audio_play_forget(nameCfgFile); } // clap.gif





Цитата(lavmen @ Вчера, 21:48)

my.7z
*


отличное пособие и именно для наших моторол , а не дебри Си !
качать и читать всем кто использует эльфы!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Danation
сообщение 18.8.2009, 15:19


Новичок
*

Группа: Пользователи
Сообщений: 11
Регистрация: 20.5.2009
Пользователь №: 199 870
Модель телефона: K1
Прошивка: R452F_G_08.03.08R

Рейтинг: 0



QUOTE(Osta @ 18.8.2009, 6:34) *

MME_GC_playback_open_audio_play_forget(nameCfgFile);



Thank you, Osta. I tried this, but the MME_GC_playback_open_audio_play_forget() function wouldn't compile. I looked in mme.h, and I couldn't see that function.

Am I missing a header file? I am new to this. I might be doing something wrong.

Translated by Google Translate:

Спасибо, Osta. Я пробовал это, но MME_GC_playback_open_audio_play_forget() функция не будет собрать. Я посмотрел в mme.h, и я не мог видеть, что функция.

Я пропавших заголовка файла? Я новичок в этом. Я бы делать что-то неправильно.

(Перевод Переводчик Google)

Сообщение отредактировал Danation - 18.8.2009, 15:21
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 18.8.2009, 16:23


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Цитата(Danation @ Сегодня, 17:19)

Am I missing a header file?
*


SDK https://forum.motofan.ru/index.php?act=Attach&type=post&id=207969
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fkcoder
сообщение 18.8.2009, 16:30


Eve
******

Группа: Разработчики
Сообщений: 1 014
Регистрация: 31.1.2006
Из: Новокузнецк
Пользователь №: 68 287
Модель телефона: L9 ATRIX 4G iPhone SE E1

Рейтинг: 650



Цитата
отличное пособие и именно для наших моторол , а не дебри Си !
качать и читать всем кто использует эльфы!

я бы сказал не пособие, а описание основных функция проши, часто используемых в эльфах
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Danation
сообщение 18.8.2009, 17:58


Новичок
*

Группа: Пользователи
Сообщений: 11
Регистрация: 20.5.2009
Пользователь №: 199 870
Модель телефона: K1
Прошивка: R452F_G_08.03.08R

Рейтинг: 0



Thank you, Osta! It's working now smile.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
beelineman
сообщение 11.9.2009, 16:35


Мото-писатель
******

Группа: Почётные мотофаны
Сообщений: 1 070
Регистрация: 22.12.2007
Из: Cити 8184
Пользователь №: 157 925
Модель телефона: Defy+, iPad Mini
Прошивка: CM10, iOS 7
Победитель конкурса 2008


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



Рейтинг: 372



Дайте пожалуйста книжку по Си, понятную для 12-летнего чела, знающего паскаль, дельфи и некоторые конструкции с++ (короче, для продвинутого чайника).
Вроде Оста где-то выкладывал, а найти не могу.
Гуглом искал: половина по С++, 49% - купить sad.gif, 1% - Ричи Карниган, не понимаю эту книгу.
Конкретно хочу писать проги в формате elf, а то ява уже бесит - тормозит жутко.
Насколько я понял, эльфы - нативные проги, со схемой взаимодействия с процем:
*.elf -> elfloader.lib -> проц.
Вопрос: можно ли считать телефон с эльфами смартом?
Вопрос 2: есть ли вирусы на эльфах (для мото, про сёму знаю)?
Заранее спасибо.

Сообщение отредактировал beelineman - 11.9.2009, 16:52
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 11.9.2009, 17:02


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Цитата(beelineman @ Сегодня, 18:35)

Вроде Оста где-то выкладывал, а найти не могу.
*


в этой теме
Цитата(beelineman @ Сегодня, 18:35)

*.elf -> elfloader.lib -> проц.
*


елф - проц ))
Цитата(beelineman @ Сегодня, 18:35)

Вопрос: можно ли считать телефон с эльфами смартом?
*


и космическим кораблем
Цитата(beelineman @ Сегодня, 18:35)

есть ли вирусы на эльфах
*


да
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
beelineman
сообщение 11.9.2009, 17:09


Мото-писатель
******

Группа: Почётные мотофаны
Сообщений: 1 070
Регистрация: 22.12.2007
Из: Cити 8184
Пользователь №: 157 925
Модель телефона: Defy+, iPad Mini
Прошивка: CM10, iOS 7
Победитель конкурса 2008


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



Рейтинг: 372



Спасибо!Буду учить Си.
Изучаю "руководство полного идиота".

Сообщение отредактировал beelineman - 11.9.2009, 17:26
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dedbl4
сообщение 11.9.2009, 17:59


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

Группа: Пользователи
Сообщений: 91
Регистрация: 7.9.2008
Из: Беларусь. Могилёв
Пользователь №: 180 691
Модель телефона: e1 и ROKR_Z6
Прошивка: 79R DaR__1.3

Рейтинг: 0



Цитата(beelineman @ 11.9.2009, 19:35) *

есть ли вирусы на эльфах?

выше написали, что есть... а после изучения и сам сможешь добавить в свои эльфы "нужный код" biggrin.gif

[om2804]
Только не забываем статью 273 УК о вредоносных программах


Сообщение отредактировал om2804 - 11.9.2009, 20:31
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fean0r
сообщение 11.9.2009, 20:49


Новичок
*

Группа: Пользователи
Сообщений: 18
Регистрация: 20.8.2009
Из: Архангельск
Пользователь №: 204 892
Модель телефона: Sie S65/58, CX70/56

Рейтинг: 10



Цитата
Ричи Карниган, не понимаю эту книгу.


Хм, я именно по этой книге учил, вроде нормальной показалась. В любом случае, все справочники надо читать, параллельно ковыряя сорцы: "Таак, что это у нас за конструкция RamNet()->ci? Аха, структура. Ну пока примем как должное (у меня это была самая важная фраза в освоении laugh.gif ), потом изучим. А это что за c+=2;? Аналог c=c+2;? Запомним..". А потом, когда более-менее подучишь - прочитать все разом, поняв непонятные места и выучив то, что в сорцах не часто попадается.

Офф::как справочник рекомендую Герберта Шилдта, "Полный справочник по С". В pdf где-т видел.

Сообщение отредактировал fean0r - 12.9.2009, 15:52
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 12.9.2009, 15:05


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Цитата(fean0r @ Вчера, 22:49)

параллельно ковыряя сорцы
*


это выделить жирным ибо многие думают, что я знаю Си,
а на самом деле я делаю именно это и всё.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
beelineman
сообщение 17.9.2009, 15:16


Мото-писатель
******

Группа: Почётные мотофаны
Сообщений: 1 070
Регистрация: 22.12.2007
Из: Cити 8184
Пользователь №: 157 925
Модель телефона: Defy+, iPad Mini
Прошивка: CM10, iOS 7
Победитель конкурса 2008


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



Рейтинг: 372



А можно описание типов, функций там на примере какого-нибудь эльфа?
Особенно интересует, как использовать UIS_DIALOG_T UIS_CreateConfirmation( SU_PORT_T *port, CONTENT_T *content );, и что за типы SU_PORT_T и CONTENT_T? Как я понял, CONTENT_T - структура, но я не понял как в эту функсию текст запихнуть?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 17.9.2009, 15:21


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



это после изучения http://wiki.motofan.ru/ ?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
beelineman
сообщение 17.9.2009, 15:28


Мото-писатель
******

Группа: Почётные мотофаны
Сообщений: 1 070
Регистрация: 22.12.2007
Из: Cити 8184
Пользователь №: 157 925
Модель телефона: Defy+, iPad Mini
Прошивка: CM10, iOS 7
Победитель конкурса 2008


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



Рейтинг: 372



Спасибо, не заметил http://wiki.motofan.ru/index.php/UIS_MakeContentFromString.
Буду пробовать компилировать.

Добавлено позже (17.9.2009, 19:38):
Почему-то не компилится. Прилагаю исходники - мод ToneDBKiller.
Объясните чайнику.
PS: ADS что-то про licensed version выдаёт
Прикрепленный файл AVP.rar   ( 2.16 килобайт ) Кол-во скачиваний: 62
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
baat
сообщение 17.9.2009, 15:39


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



beelineman, не надо туда ничего пхать...
Spoiler:
если посмотришь такой файлик как typedefs.h, то узреешь где-то на 30-ой строке...
Код
typedef UINT32          UIS_DIALOG_T;
typedef UINT32          SU_PORT_T;

а посмотришь исходники ома, например Backuper.c, где-то 359-ая строка...
Код
   UIS_MakeContentFromString("MCq0", &content, L"Reboot ?");
   dialog = UIS_CreateConfirmation( &port, &content);

и ещё понятнее станет...

а если после всего этого хватит силы открыть uis.h
там есть.. где-то 89-ая строка...
Код
UINT32 UIS_MakeContentFromString( char *format,  CONTENT_T *dst,  ... );
/* Подробнее про строку format:
    Строка состоит из указателей на входящие параметры
    и спецификаторов выравнивания.
    Указатели формируются как тип и номер параметра в функции,
  
    возможные типы:
    a - анимация
    d - дата
    q - указатель на WCHAR строку
    s - ресурс строки
    i - int
    j - LIST_IMAGE_ELEMENT_T
    l - long
    g - hex int
    p - ресурс картинки
    r - CONTENT_T
    f - указатель на файл
    t - время
  
    Спецификаторы выравнивания:
    N - новая строка
    S - распределение текста
    C - текст по центру
    L - обрезать с "...", если строка слишком длинная
    M - текст посередине (вертикальное выравнивание)
    T - текст сверху
    B - текст снизу
    
    Например: "MCq0p1" = "Вывести посередине и по центру первый
    параметр после dst как строку, а второй - как картинку" */
[close]

Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
beelineman
сообщение 17.9.2009, 15:52


Мото-писатель
******

Группа: Почётные мотофаны
Сообщений: 1 070
Регистрация: 22.12.2007
Из: Cити 8184
Пользователь №: 157 925
Модель телефона: Defy+, iPad Mini
Прошивка: CM10, iOS 7
Победитель конкурса 2008


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



Рейтинг: 372



Я понял уже, спасибо. uis.h видел.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 17.9.2009, 16:02


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Цитата(beelineman @ Сегодня, 17:28)

Почему-то не компилится. Прилагаю исходники - мод ToneDBKiller.
Объясните чайнику.
*


так нельзя писать
Код
/* Application startup function */
UINT32 AVPStart( EVENT_STACK_T *ev_st,  REG_ID_T reg_id,  UINT32 param2 )//void *reg_hdl )
{   CONTENT_T *content = UIS_MakeContentFromString("MCq0", &content, L"Удаляем файл autorun.inf", 0x01000018, 0x01000572, 0x120000D0 );
    APPLICATION_T *papp = (APPLICATION_T*) app;


ты напихал L"Удаляем файл autorun.inf", 0x01000018, 0x01000572, 0x120000D0 , а формат только "MCq0", этого мало

и сразу писать эту строку в переменных не стоит



Добавлено позже (17.9.2009, 18:10):
Цитата(beelineman @ Сегодня, 17:28)

PS: ADS что-то про licensed version выдаёт
*


это есть ? Прикрепленное изображение
Прикрепленный файл license.rar   ( 461 байт ) Кол-во скачиваний: 63
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
zeDDer
сообщение 21.9.2009, 12:52


mCore hacker
*****

Группа: Разработчики
Сообщений: 474
Регистрация: 27.6.2007
Из: Беларусь, Слуцк
Пользователь №: 139 587
Модель телефона: V3x
Прошивка: У вас такой нет)
Финалист Конкурса 2010

Рейтинг: 500



У меня есть вопросик по DRM_SetResource. Первым параметром передаётся ID ресурса. ID ресурса формируется типом ресурса в качестве старшего байта и номером ресурса текущего типа.
Так вот как мне узнать номер ресурса? Мне нужно "сформировать" ID контента. Со строками и иконками всё просто, а тут возникла сложность...

Сообщение отредактировал zeDDer - 21.9.2009, 12:55
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fkcoder
сообщение 21.9.2009, 13:11


Eve
******

Группа: Разработчики
Сообщений: 1 014
Регистрация: 31.1.2006
Из: Новокузнецк
Пользователь №: 68 287
Модель телефона: L9 ATRIX 4G iPhone SE E1

Рейтинг: 650



zeDDer,
тебе надо заменить стандартный контент, так?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 21.9.2009, 13:18


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



#define RES_TYPE_CONTENT 0x0C

это ?
Прикрепленный файл drm_resources.zip   ( 135.64 килобайт ) Кол-во скачиваний: 649
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
zeDDer
сообщение 21.9.2009, 13:53


mCore hacker
*****

Группа: Разработчики
Сообщений: 474
Регистрация: 27.6.2007
Из: Беларусь, Слуцк
Пользователь №: 139 587
Модель телефона: V3x
Прошивка: У вас такой нет)
Финалист Конкурса 2010

Рейтинг: 500



Угу, надо заменить стандартный контент. Osta, спасибо, поковыряюсь smile.gif
PS: Кстати, я нашёл адрес где вызывается ф-ция UIS_MakeContentFromString и соответственно создаётся данный контент, может как-то можно из этого узнать ID контента?

Сообщение отредактировал zeDDer - 21.9.2009, 14:03
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
tim apple
сообщение 21.9.2009, 14:21


Мастер
****

Группа: Разработчики
Сообщений: 260
Регистрация: 13.7.2007
Из: РФ, Башкирия, Стерлитамак
Пользователь №: 141 375
Модель телефона: ---
Прошивка: ---

Рейтинг: 435



zeDDer,
1) искать в прошивке место использования нужного тебе контента и там смотреть ID
2) искать контент в DRM и по смещению определить его ID (муторно, но вполне реально)

Цитата(zeDDer @ Сегодня, 19:53)

может как-то можно из этого узнать ID контента?
*


это как раз пункт 1). стучись в аську - помогу.

Сообщение отредактировал tim apple - 21.9.2009, 14:24
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Bad_Santa
сообщение 9.11.2009, 9:16


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

Группа: Пользователи
Сообщений: 75
Регистрация: 18.6.2007
Пользователь №: 138 555
Модель телефона: L7E

Рейтинг: 36.5



Господа. Вот такой код:
Код
#include "INIparser.h" //где есть OpenINI,setSeparator,ReadParamINI и т.д.
...
UINT32 EditData( EVENT_STACK_T *ev_st,  void *app )
    UINT32                   status = 0;
    EVENT_T                 *event = AFW_GetEv(ev_st);
    char                        tmp_buf[14];
    APPLICATION_T      *papp = (APPLICATION_T*) app;
    SU_PORT_T             port = papp->port;
    CONTENT_T             content;
    UIS_DIALOG_T        dialog = 0;

  if (event->attachment != 0)
{
     if (OpenINI(L"Base.txt") != RESULT_OK) return RESULT_FAIL;
     setSeparator('=');
     if (FindSection("GLOBAL"))
      {
        ReadParamINI("a", tmp_buf, 4, "0");
        UIS_MakeContentFromString("MCq0", &content, tmp_buf); //Создаём контент из строки
        dialog = UIS_CreateTransientNotice( &port, &content, NOTICE_TYPE_OK);
        if(dialog == 0) return RESULT_FAIL;
        papp->dialog = dialog;
      }
}
    status = APP_UtilChangeState( HW_STATE_MAIN, ev_st, app ); // возвращаемся в mait state
    return status;
}


При компиляции выдает armlink ошибку:
Код
...
armlink -reloc -first Lib.o(Lib) -0 My.elf My.o Lib.o

Error L6218E: Undefined symbol OpenINI (referred from My.o)
Error L6218E: Undefined symbol setSeparator(referred from My.o)
Error L6218E: Undefined symbol FindSection(referred from My.o)
Error L6218E: Undefined symbol ReadParamINI(referred from My.o)


Как с этим бороться?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 9.11.2009, 11:32


0xFFFF
******

Группа: Разработчики
Сообщений: 832
Регистрация: 28.3.2006
Из: Нижний Новгород
Пользователь №: 76 255

Рейтинг: 1224



ИАА, о, новичок в эльфостроении smile.gif
Наверняка ты раньше пользовался только графическими оболочками для программирования - добавил файл в проект и оно само собирается как надо. Так вот здесь всё приходится делать вручную, а именно - сначала скомпилировать все исходники *.c и *.cpp, чтобы получить из них объектные файлы (*.o):
Код
tcc ... My.c INIparser.c и т.д.

А затем собрать эти объекты (*.o, а может ещё и архивы *.a) в один эльф линковщиком:
Код
armlink -reloc -first Lib.o(Lib) -o My.elf My.o INIparser.o Lib.o

В этой строчке кстати должно быть "-o <имя_эльфа>, а не "-0 <имя эльфа>". Я не знаю, как называется твой инипарсер, так что привёл имена только для примера.

Сообщение отредактировал Andy51 - 9.11.2009, 11:33
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Bad_Santa
сообщение 9.11.2009, 14:23


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

Группа: Пользователи
Сообщений: 75
Регистрация: 18.6.2007
Пользователь №: 138 555
Модель телефона: L7E

Рейтинг: 36.5



Andy51 да я новичок shuffle.gif

Но как компилить знаю smile.gif

Собрал *.bat для компиляции:

Код
tcc -ISDK -c -bigend -apcs /interwork Setting.c INIparser.c
armlink -reloc -first Lib.o(Lib) -o Setting.elf Setting.o INIparser.o Lib.o
del Setting.o
del INIparser.o
pause



Добавлено позже (9.11.2009, 14:36):
Andy51, а есть графические оболочки для написания эльфов? Если нет, то могу сделать.

Сообщение отредактировал ИАА - 9.11.2009, 14:36
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 9.11.2009, 15:01


0xFFFF
******

Группа: Разработчики
Сообщений: 832
Регистрация: 28.3.2006
Из: Нижний Новгород
Пользователь №: 76 255

Рейтинг: 1224



ИАА, есть GUI for ADS
А ещё у ADS есть "родная" оболочка...

Сообщение отредактировал Andy51 - 9.11.2009, 15:02
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Учимся писать эльфов вместе, Обсуждение процесса кодинга · Эльфы, их разработка и портирование · Forum
 

16 страниц V « < 9 10 11 12 13 > » 
Ответ в темуСоздание новой темы
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 19.7.2025, 3:51

Форум живёт: