motofan logo
> 

ELFs by EXL: Ностальгия разработки под Motorola P2K, Обновлено 05-Mar-2025: BadApple E770v/RAZR V3x 60FPS (NEW!)

EXL
сообщение 10.11.2023, 4:57


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 145
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


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



Рейтинг: 4654



Решил немного оживить тёплую-ламповую ветку и выложить в отдельную тему все ELF'ы для платформы Motorola P2K, которые я напрограммировал в качестве хобби и изучения P2K API за последний год. Разработка в основном происходила в Telegram-чате MotoFan.Ru, заходите и поностальгируйте по старым-добрым денькам, у нас там бывает весело!

Изображение

Для корректной работы моих ELF'ов на вашей прошивке обязательно обновляем библиотеки из последнего по дате прикреплённого архива ниже, который будет иногда обновляться. В нём содержатся актуальные версии всех ELF'ов из этой темы и актуальные библиотеки. Enjoy!

К сожалению, пока ещё не все планы удалось воплатить в жизнь из-за нехватки свободного времени и отсутствия должной мотивации, но я надеюсь что когда-нибудь мне всё-таки удастся закончить многие задуманные вещи.

Репозитории с исходным кодом проектов

01. https://github.com/EXL/P2kElfs
02. https://github.com/EXL/2048/tree/master/2048-P2K
03. https://github.com/EXL/2048/tree/master/2048-P2K/2048-AHI

Инструкции по сборке

Вы можете использовать самые разные сборочные системы для сборки проектов из этой темы: make, BAT building scripts и CMake. Нужно просто следуя данным инструкциям установить и настроить SDK & Toolchains для разработки ELF'ов под Windows или Linux и дальше действовать по инструкциям, чтобы импортировать проект или проекты в современные IDE, такие как Qt Creator, Visual Code или CLion:

01. Build with CMake and CLion
02. Build with CMake and Visual Studio Code
03. Build with CMake and Qt Creator IDE

В некоторых случаях потребуется дополнительная установка Python и CMake инструментариев. Помимо этого оставлена возможность сборки проектов из CLI (command-line interface), которая может быть удобна, если нет цели редактировать код, а лишь собрать исполняемый ELF-файл. Для этого требуется только установить SDK & Toolchains и настроить его для сборки.

Модифицированные прошивки

Все представленные ниже модифицированные кастомные прошивки имеют возможность запуска ELF'ов, содержат некоторые полезные патчи и имеют ностальгическое стоковое оформление и наполнение контентом.

01. Dream A Reality 2.x Test 17 - для Motorola E398, ROKR E1, доступен ElfPack 1.0 и ElfPack 2.0
02. E1_R373_49R Modded - для Motorola E398, ROKR E1, доступен ElfPack 1.0 и ElfPack 2.0
03. L6_R3511_G_0A.52.45R_A_Original_Mod_Pro_2.0 - для Motorola SLVR L6, L6i, доступен ElfPack 1.0
04. L6i_R3443H1_G_0A.65.0BR - для Motorola SLVR L6, L6i, доступен ElfPack 1.0
05. V235_R3512_G_0A.30.6CR - для Motorola V235, доступен ElfPack 1.0
06. Vxxx_TRIPLETS_G_0B.09.72R - для Motorola V300, V400, V500, V600, доступен ElfPack 1.0
07. C650_R365_G_0B.D3.08R - для Motorola C380, C650, V180, V220 доступен ElfPack 1.0
08. V635_R474_G_08.48.6FR - для Motorola V635, доступен ElfPack 1.0

Список задач

01. Объединить все свои ELF'ы в единый архив и создать тему.
02. Обновить библиотеки для всех доступных пресетов телефонов.
🟩 03. Объединить, обновить и подготовить удобный SDK & Toolchains для разработки ELF'ов.
🟩 04. Подготовить несколько модифицированных прошивок для удобного запуска ELF'ов.
🟩 05. Подготовить эмулятор Motorola P2K к релизу.
🟩 06. Портировать эмулятор NES/Famicom/Dendy с GBA или других устройств.
🟩 07. Портировать DOOM с GBA, BREW или других проектов.
08. Адаптировать ELF'ы к использованию на M·CORE телефонах.
09. Разобраться с векторными шрифтами на последних P2K устройствах.
10. Достучаться до Nvidia GoForce на M·CORE телефонах, по типу того как ATI Imageon задействован на ARM девайсах.
🟩 11. Поэкспериментировать с работой сети Интернет из ELF'ов.
🟩 12. Поэкспериментировать с HTTPS, возможно портировать библиотеки с Arduino и похожих проектов для этого.
🟩 13. Безумная идея: портировать ElfLoader на Motorola C350. Народный телефон. Даже на Nokia 3310 можно запускать собственный код. Чем C350 хуже?
🟩 14. Попробовать портировать ElfLoader на Motorola C550. Этот телефон чуть интереснее C350 и имеет больше RAM.
15. Портировать ElfLoader на Motorola C650 и все остальные в этой серии. На них должны быть ELF'ы, ведь на Siemens C65 они вроде как есть.
16. Портировать ElfLoader на Motorola V635, флагманский P2K-телефон обязан иметь поддержку ELF'ов.
🟩 17. Портировать ElfLoader на классический Motorola RAZR V3, печально что возможность запуска ELF'ов реализована только в более современных V3r и V3i.
🟩 18. Портировать ElfLoader на Motorola V80, интересно с его крутой RGB-подсветкой поработать.
🟩 19. Портировать ElfLoader на Motorola A630, интересно с Landscape-экраном в UIS и QWERTY-клавиатурой. поработать.
🟩 20. Перенести MotoWiki на GitHub, GitLab и BitBucket.
🟩 21. Создать архив ELF'ов на GitHub, GitLab и BitBucket и перенести всю разработку и всё выжившее туда.
22. Портировать ElfLoader на Motorola V235.
23. Портировать ElfLoader на Motorola V600 и обновить библиотеки.
24. Портировать ElfLoader на Motorola SLVR L6, L6i и обновить библиотеки.
25. Обновить Benchmark.elf, добавив возможность бенчмаркинга скорости дисков /a/, /b/, /c/ и /e/.
26. Обновить 2048, добавив корректную отрисовку векторных TTF-шрифтов на канвасе и диалоговые меню.
27. Добавить в Dumper.elf возможность снятия дампов периферии Neptune, ревизия и серийный номер.
🟩 28. Портировать ElfLoader на Motorola E1000, флагманский P2K/GSM-телефон обязан иметь поддержку ELF'ов. Теперь это возможно благодаря обходу RSA.
🟩 29. Портировать ElfLoader на Motorola C390. Теперь это возможно благодаря обходу RSA.

Список проектов этой темы

01. 2048-UIS - Популярная игра-головоломка "2048", написанная с использованием фреймворков AFW и UIS.
02. 2048-AHI - Популярная игра-головоломка "2048", написанная с использованием фреймворков AFW и UIS и видеодрайвера AHI (ATI Handheld Interface).
03. Ambilight - Резидентный ELF, реализующий интересные режимы свечения RGB-светодиодов.
04. Batt Dump - Утилита для создания дампов ROM'ов аккумуляторов по 1-Wire интерфейсу.
05. Benchmark - Простой бенчмарк для телефонов Motorola на платформе P2K.
06. Dumper - Утилита для дампа различных регионов памяти телефонов Motorola на платформе P2K.
07. Elf Box - Простой лаунчер ELF-приложений, написанный для Motorola V600.
08. Fire Effect - Порт демки с эффектом огня из игры Doom на PlayStation 1 (PSX).
09. Neko - Забавный анимированный виджет для экрана рабочего стола с поддержкой скинов.
10. Overclock - Приложение для разгона ядра ARM7TDMI в SoC Neptune LTE/LTE2 со штатных 52 МГц до 65 МГц.
11. Perlin - Порт демки на основе Perlin-шума с платформы DCT-3 (Nokia 3310).
12. Power Alert - Простейший пример резидентной ELF-программы для отправки SMS-сообщения при отключении телефона от питания.
13. Screenshot - Резидентный ELF для быстрого снятия скриншотов в формате BMP 16bpp.
14. Spout - Порт простенькой, но сильно затягивающей японской игры с платформы P/ECE.
15. Vibro Haptic - Резидентный ELF для вибро-отклика в различных меню телефона на манер Sony Ericsson.
16. Yeti3D Old - Порт старой демо-версии 3D-движка Yeti3D с платформы Nintendo Game Boy Advance (GBA).
17. Yeti3D - Порт новой версии техно-демки 3D-движка Yeti3D с платформы Nintendo Game Boy Advance (GBA).
18. Bad Apple - Реализация популярного демо "Bad Apple!!" энкодированного в 1bpp сжатые кадры и воспроизводимого с помощью GPU.
19. vNesC - Экспериментальный порт эмулятора NES/Famicom/Dendy с Siemens SGold/NewSGold платформы на Motorola P2K.

Список библиотек, телефонов и прошивок с возможностью запуска ELF'ов

01. E1_R373_G_0E.30.49R - Motorola ROKR E1, EP 1.0 и EP 2.0 библиотеки.
02. E1_R373_G_0E.30.79R - Motorola ROKR E1, EP 1.0 и EP 2.0 библиотеки.
03. E1_R373_G_0E.30.DAR_test16 - Motorola ROKR E1, EP 1.0 и EP 2.0 библиотеки.
04. E1_R373_G_0E.30.DAR_test17 - Motorola ROKR E1, EP 1.0 и EP 2.0 библиотеки.
05. K1_R452F_G_08.03.08R - Motorola KRZR K1, EP 1.0 и EP 2.0 библиотеки.
06. K3_R261171LD_U_99.51.06R - Motorola KRZR K3, EA 1.0 библиотеки. Только прототипы.
07. L6_R3511_G_0A.52.45R_A - Motorola SLVR L6, L6i, EP 1.0 библиотеки.
08. L6i_R3443H1_G_0A.65.0BR - Motorola SLVR L6, L6i, EP 1.0 библиотеки.
09. L7_R4513_G_08.B7.ACR_RB - Motorola SLVR L7, EP 1.0 и EP 2.0 библиотеки.
10. L7_R4513_G_08.B7.E0R_RB - Motorola SLVR L7, EP 1.0 и EP 2.0 библиотеки.
11. L7e_R452D_G_08.01.0AR - Motorola SLVR L7e, EP 1.0 и EP 2.0 библиотеки.
12. L9_R452J_G_08.22.05R - Motorola SLVR L9, EP 1.0 и EP 2.0 библиотеки.
13. V3i_R4441D_G_08.01.03R - Motorola RAZR V3i, V3e, EP 1.0 и EP 2.0 библиотеки.
14. V3r_R4515_G_08.BD.D3R - Motorola RAZR V3r, EP 1.0 и EP 2.0 библиотеки.
15. V235_R3512_G_0A.30.6CR - Motorola V235, EP 1.0 библиотеки.
16. V360_R4513_G_08.B7.ACR - Motorola V360, EP 1.0 и EP 2.0 библиотеки.
17. V600_TRIPLETS_G_0B.09.72R - Motorola V300, V500, V600, EP 1.0 и EP 2.0 (не тестировано) библиотеки.
18. Z3_R452B_G_08.02.0DR - Motorola RIZR Z3, EP 1.0 и EP 2.0 библиотеки.
19. Z3_R452F1_G_08.04.09R - Motorola RIZR Z3, EP 1.0 и EP 2.0 библиотеки.
20. Z3_R452H6_G_08.00.05R - Motorola RIZR Z3, EP 1.0 и EP 2.0 библиотеки.
21. C650_R365_G_0B.D3.08R - Motorola C380, C650, V180, V220, EP 1.0 библиотеки.
22. E770v_R252211_U_85.9B.E1P - Motorola E770, E770v, EM 2.0 библиотеки.
23. V3x_R252211LD_U_85.9B.E6P - Motorola RAZR V3x, EM 2.0 библиотеки.
24. V635_R474_G_08.48.6FR - Motorola V635, EP 1.0 библиотеки.

Спасибо

По славной и доброй MotoFan.Ru'овской традиции, перечисляю в алфавитном порядке ники тех пользователей и разработчиков, без труда и помощи которых ничего из этого бы не было:

-=M@STER=-, Alesha_Pl, Andy51, azt59, baat, Chik_v, Cool-T, dimonp25, DmT, ds3v, FEAR4ik, Fenja, fkcoder, flash.tato, G-XaD, GandjaFuzz, Indepth6, kadukmm, kuzulis, Macho, motoprogger, om2804, Osta, Rek>pth, rock88, theC0r3, thegood, tim_apple, Unreal_man, Vilko, z3DD3r

Извиняюсь, если кого-то забыл. Если вы случайно попали в эту тему спустя десяток или более лет, спасибо вам огромное, ребята!

Прикреплённые файлы:
Прикрепленный файл P2kElfs_Release_05-Mar-2025.zip   ( 26.95 мегабайт ) Кол-во скачиваний: 88
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
 
Ответ в темуСоздание новой темы
Ответов
EXL
сообщение 17.11.2023, 18:42


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 145
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


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



Рейтинг: 4654



18. Bad Apple

Назначение: Реализация популярного демо "Bad Apple!!" энкодированного в 1bpp сжатые кадры и воспроизводимого с помощью GPU.
Автор: EXL
Протестировано на Motorola: SLVR L6, SLVR L6i, E398, ROKR E1, V600, V235, V635, E770v, RAZR V3x
Платформа: ElfPack v1.x for ARM (EP1), ElfPack v2.x for M·CORE (EM2)
Тип приложения: GUI + GPU + zlib
Исходный код: https://github.com/EXL/P2kElfs/tree/master/BadApple
Управление:
• Левая софт-кнопка, Красная трубка, 0 - Выход.
Дополнительно: Прочитав замечательную и интересную статью "Bad Apple на телефоне Siemens CX75" на Хабре от @grishka я решил попробовать сделать подобное и для телефонов Motorola на платформе P2K и работающих под управлением ARM7TDMI @ 52 MHz. Для тех кто в танке, демка Bad Apple!! очень популярна среди демосценеров и часто используется как демонстрация графических и звуковых возможностей устройства. С помощью ffmpeg, ImageMagic и магии Python я разбил видео на отдельные фреймы, повернул, сконвертировал их в легковесные 1bpp bitmap'ы и сжал zlib'ом, а на телефоне при воспроизведении расжимаю обратно. Около ~33.9 MB @ 6572 кадров хорошо сжимаются в компактный файлик весом ~2.75 MB. На удивление получилось довольно быстро и без всяких цикличных буферов, стабильные 30 FPS если файл со сжатыми кадрами находится в памяти телефона и 15 FPS если он валяется на карте памяти. Если убрать сжатие, можно получить все 60 FPS на E398/ROKR E1 с их ATI Imageon W2250, но столько места нет для несжатых кадров внутри телефона. На E398/ROKR E1 наблюдается очень незначительная десинхронизация видео/аудио, а вот на SLVR L6/L6i десинхронизация из-за просадки по контроллеру дисплея уже более заметна. Более подробное описание, дополнительную информацию и самое главное, таблицы сравнения производительности, можно найти по ссылке на GitHub'е.
YouTube:
Bad Apple!! but it's on Motorola E398/ROKR E1 and other P2K phones
Bad Apple!! but it's on Motorola RAZR V3i and Motorola ROKR E1, thanks to Bs0Dd!
Bad Apple!! but it's on Motorola E770v, RAZR V3x, ROKR E1 in 60 FPS!
Скриншоты Motorola SLVR L6i, ROKR E1:
Изображение
Галерея фотографий:
Прикрепленное изображение

Доступные файлы:
• BadApple.elf (ELF для ElfPack 1.0)
• BadApple_V600.elf (ELF для ElfPack 1.0, версия для Motorola V600)
• BadApple_V635.elf (ELF для ElfPack 1.0, версия для Motorola V635)
• BadApple_L7e.elf (ELF для ElfPack 1.0, версия для Motorola SLVR L7e)
• BadApple_60fps.elf (ELF для ElfPack 1.0, экспериментальная 60 FPS демоверсия)
• BadApple_V3x_E770v.elf (ELF для ElfPack 2.0, M·CORE, Motorola RAZR V3x, Motorola E770v, 60 FPS)

Скачать можно в обновляемом архиве в первом посту темы!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить

Сообщений в этой теме
EXL   ELFs by EXL: Ностальгия разработки под Motorola P2K   10.11.2023, 4:57
EXL   1. 2048-UIS https://motofan.ru/files/storage/2048-...   12.11.2023, 14:14
EXL   2. 2048-AHI https://motofan.ru/files/storage/2048-...   12.11.2023, 14:42
EXL   3. Ambilight [img]https://motofan.ru/files/storage...   12.11.2023, 15:08
EXL   4. Batt Dump Назначение: Утилита для создания дам...   12.11.2023, 15:22
EXL   5. Benchmark https://motofan.ru/files/storage/benc...   12.11.2023, 15:42
EXL   6. Dumper https://motofan.ru/files/storage/dumper_...   12.11.2023, 16:08
EXL   7. Elf Box https://motofan.ru/files/storage/elfbox...   13.11.2023, 6:10
EXL   8. Fire Effect Назначение: Порт демки с эффектом ...   13.11.2023, 7:05
EXL   9. Neko https://motofan.ru/files/storage/neko_48x4...   13.11.2023, 8:02
EXL   10. Overclock https://motofan.ru/files/storage/ove...   13.11.2023, 8:27
EXL   11. Perlin Назначение: Порт демки на основе Perli...   13.11.2023, 8:40
EXL   12. Power Alert Назначение: Простейший пример рез...   13.11.2023, 8:49
EXL   13. Screenshot Назначение: Резидентный ELF для бы...   13.11.2023, 9:04
EXL   14. Spout Назначение: Порт простенькой, но сильно...   13.11.2023, 9:24
EXL   15. Vibro Haptic https://motofan.ru/files/storage/...   13.11.2023, 9:43
EXL   16. Yeti3D Old Назначение: Порт старой демо-верси...   13.11.2023, 9:57
EXL   17. Yeti3D Назначение: Порт новой версии техно-де...   13.11.2023, 10:39
EXL   18. Bad Apple Назначение: Реализация популярного ...   17.11.2023, 18:42
EXL   [size=4]+ Обновление Dumper и Benchmark Dumper: Д...   27.2.2024, 8:47
EXL   + Обновление 2048-UIS и 2048-AHI [offtopic]Спаси...   27.2.2024, 12:20
G-XaD   Извращенец %)   3.3.2024, 22:54
CrayZor   Извращенец %) G-XaD ты тут, Я очень рад, присоед...   4.3.2024, 1:12
EXL   G-XaD, Привет, решил вот вспомнить былые деньки ;...   7.3.2024, 18:36
EXL   [size=4]+ Обновление Yeti3D Добавлены рабочие вер...   7.3.2024, 18:39
EXL   [size=4]+ Обновление Dumper Исправлен баг с неини...   23.3.2024, 20:38
sumkin   Дома так и валяется v635, которым так и не пользов...   26.3.2024, 4:23
EXL   sumkin, Да, V635 крутой телефон, по сути являлся ...   26.3.2024, 10:37
EXL   Наконец-то мне с dimonp25 удалось портировать EP1 ...   15.11.2024, 8:13
EXL   Несколько месяцев назад в конференции MotoFan.Ru в...   4.12.2024, 10:55
EXL   19. vNesC [color=#3333FF]Назначение: Эксперимента...   4.12.2024, 12:44
EXL   Небольшой отчёт за первый квартал 2025 года! ...   19.3.2025, 14:24

ELFs by EXL: Ностальгия разработки под Motorola P2K, Обновлено 05-Mar-2025: BadApple E770v/RAZR V3x 60FPS (NEW!) · Эльфы, их разработка и портирование · Forum
 

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

 



Текстовая версия Сейчас: 18.7.2025, 0:53

Форум живёт: