motofan logo
> 

EmuElf, Elf-окружение для Win32

Andy51
сообщение 3.4.2010, 16:50


0xFFFF
******

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


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



Рейтинг: 1224



Я уже довольно давно начал работу над проектом, позволяющим собирать и тестировать эльфы под Windows. Первое настоящее боевое крещение разработка прошла на тестовых сборках Aegis, и вообще говоря, была доступна всё это время на SVN, просто у меня небыло настроения рассказать об этой штуке.

Вкратце, что это такое и как работает:
  1. Берём исходник эльфа, работающего с драйвером (UIS не поддерживается)
  2. Иногда придётся подправить функции чтения из бинарных файлов - на системах от Intel и Motorola разный порядок байт (endianness) - см. примеры.
  3. Собираем исходник в VisualStudio (разрабатывается на 6 версии), подключив к проекту EmuElf.lib
  4. Если в EmuElf есть все необходимые функции, то на выходе получаем *.exe файл, повторяющий функциональность эльфа!


Что входит в текущую версию EmuElf:
  • Окно 176x220 - экран
  • Консоль - показывает debug-сообщения, выводимые через PFprintf и cprint
  • Цифровая клавиатура замаплена на нумпад (789 = 123; 0 = *; Del = 0; Enter = #)
  • AFW в зачаточном состоянии
  • DL - таймеры, DL_KeyKjavaGetKeyState
  • DL_Fs - корень эмулируемой файловой системы находится в папке FS, рядом с exe-файлом. Поддерживаются только основные файловые операции. Впрочем, практически тоже самое можно сказать и про всё остальное.
  • API Elfpack2
  • AHI (видеодрайвер) - наиболее развитая часть проекта, много функций, но всё равно не все. Весь проект изначально затачивался на код, использующий только драйвер для вывода графики.
  • GDA - альтернативный видеодрайвер, API реализован более-менее полностью, насколько я помню (моя разработка, тоже выложу как будет время)
  • Таски (аналог threads в vrtx) - для использования этих функций на реальном телефоне нужен специальный патч (тоже моя разработка, тоже как-нибудь зрелизю)
  • Строковые функции с u_*, suAlloc/FreeMem и прочее по мелочи

Отдельно стоит отметить некоторые вещи, которые НЕ поддерживаются:
  • UIS НЕ поддерживается (только UIS_CreateNullDialog), и в мои планы не входит его реализация
  • Одновременно может быть запущено только одно приложение (Application)
  • Ещё раз отмечу, что результат интерпретации, скажем, в UINT32 данных, прочитанных из файла отличается в EmuElf и в эльфе - необходимо использовать функции для преобразования endianness

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

Забирать отсюда: svn://svn.vilko.ru/emuelf

В репозитории уже есть Debug-build последней версии emuelf.lib, а также два эльфа-примера, собирающихся с ним: helloworld-snd и какая-то старая версия Matrix.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить

Сообщений в этой теме
Andy51   EmuElf   3.4.2010, 16:50
DmT   Andy51, А и отладчик я так понял юзается родной, ...   4.4.2010, 17:47
Andy51   DmT, да, именно так. Возможность отладки эльфов на...   4.4.2010, 18:43
baat   Andy51, как ярый сторонник всего ясного и подробно...   6.4.2010, 7:01
Matrasa   Гм, а как эту либу скачать то? Впервые вижу svn сс...   6.4.2010, 8:50
Andy51   Открыть проект в VS и компилировать ;) А ещё там ...   6.4.2010, 12:42
DmT   Это действительно приносит огроменные неудобства,...   6.4.2010, 12:57
G-XaD   Пол часа шаманил, собрал matrix используя MinGW + ...   6.4.2010, 14:41
DmT   Аналогично, только с CodeLite ом. ;)   6.4.2010, 14:46
baat   а я, как честная сволочь, скачал лицензию vc++ 6 с...   6.4.2010, 14:56
Andy51   Это как же я так сделаю? Ну я ведь не просто вы...   7.4.2010, 13:42
baat   ну я не спорю что у тебя собирается... ----------...   7.4.2010, 16:13
DmT   Или VC не позволяет сторонний компилятор юзать?   7.4.2010, 16:30
bill_kevin   I register in svn://svn.vilko.ru/ but not send me...   7.4.2010, 23:29
DarkCoder   Microsoft Visual Studio 2008: пример matrix собира...   8.4.2010, 15:48
baat   Andy51, проект изменятся, развиватся, дополнятся б...   27.4.2010, 9:59
Andy51   baat, в основном я его развиваю по мере необходимо...   27.4.2010, 12:38

EmuElf, Elf-окружение для Win32 · Эльфы, их разработка и портирование · Forum
 

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

 



Текстовая версия Сейчас: 18.6.2025, 15:36

Форум живёт: