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

ELFs by EXL: Ностальгия разработки под Motorola P2K, Обновлено 25-Mar-2024: 18. Bad Apple

EXL
сообщение 10.11.2023, 4:57 Закрепленное сообщение!


Rock The Microphone
********

Группа: Администраторы
Сообщений: 2 983
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652

Рейтинг: 4615



Решил немного оживить тёплую-ламповую ветку и выложить в отдельную тему все 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, Qt Creator Project, Qbs и CMake. Нужно просто следуя данным инструкциям установить и настроить SDK & Toolchains для разработки ELF'ов под Windows или Linux и дальше действовать по инструкциям, чтобы импортировать проект или проекты в современные IDE, такие как Qt Creator, Visual Code или CLion:

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

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

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

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

01. E1_R373_49R Modded - для Motorola ROKR E1, доступен ElfPack 1.0 и ElfPack 2.0
02. L6_R3511_45R_A Modded - для Motorola SLVR L6, L6i, доступен ElfPack 1.0
03. L6i_R3443H1_0BR Modded - для Motorola SLVR L6, L6i, доступен ElfPack 1.0
04. V235_R3512_6CR Modded - для Motorola V235, доступен ElfPack 1.0
05. V600_TRIPLETS_72R Modded - для Motorola V300, V500, V600, доступен 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, ревизия и серийный номер.

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

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.

Список обновлённых библиотек

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 - Motorola ROKR E1, EP 1.0 и EP 2.0 библиотеки.
04. K1_R452F_G_08.03.08R - Motorola KRZR K1, EP 1.0 и EP 2.0 библиотеки.
05. L6_R3511_G_0A.52.45R_A - Motorola SLVR L6, L6i, EP 1.0 библиотеки.
06. L6i_R3443H1_G_0A.65.0BR - Motorola SLVR L6, L6i, EP 1.0 библиотеки.
07. L7_R4513_G_08.B7.ACR_RB - Motorola SLVR L7, EP 1.0 и EP 2.0 библиотеки.
08. L7_R4513_G_08.B7.E0R_RB - Motorola SLVR L7, EP 1.0 и EP 2.0 библиотеки.
09. L7e_R452D_G_08.01.0AR - Motorola SLVR L7e, EP 1.0 и EP 2.0 библиотеки.
10. L9_R452J_G_08.22.05R - Motorola SLVR L9, EP 1.0 и EP 2.0 библиотеки.
11. V3i_R4441D_G_08.01.03R - Motorola RAZR V3i, V3e, EP 1.0 и EP 2.0 библиотеки.
12. V3r_R4515_G_08.BD.D3R - Motorola RAZR V3r, EP 1.0 и EP 2.0 библиотеки.
13. V235_R3512_G_0A.30.6CR - Motorola V235, EP 1.0 библиотеки.
14. V360_R4513_G_08.B7.ACR - Motorola V360, EP 1.0 и EP 2.0 библиотеки.
15. V600_TRIPLETS_G_0B.09.72R - Motorola V300, V500, V600, EP 1.0 и EP 2.0 (не тестировано) библиотеки.
16. Z3_R452B_G_08.02.0DR - Motorola RIZR Z3, EP 1.0 и EP 2.0 библиотеки.
17. Z3_R452F1_G_08.04.09R - Motorola RIZR Z3, EP 1.0 и EP 2.0 библиотеки.
18. Z3_R452H6_G_08.00.05R - Motorola RIZR Z3, EP 1.0 и EP 2.0 библиотеки.

Спасибо

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

-=M@STER=-, Alesha_Pl, Andy51, azt59, baat, Chik_v, Cool-T, 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_25-Mar-2024.zip   ( 10.38 мегабайт ) Кол-во скачиваний: 20
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 13.11.2023, 8:27


Rock The Microphone
********

Группа: Администраторы
Сообщений: 2 983
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652

Рейтинг: 4615



10. Overclock
Изображение

Назначение: Приложение для разгона ядра ARM7TDMI в SoC Neptune LTE/LTE2 со штатных 52 МГц до 65 МГц.
Автор: EXL
Платформа: ElfPack v1.x for ARM (EP1)
Протестировано на Motorola: SLVR L6, SLVR L6i, E398, ROKR E1, V360, SLVR L7, RAZR V3i, RAZR V3r, SLVR L7e (не работает), KRZR K1 (не работает)
Тип приложения: GUI
Исходный код: https://github.com/EXL/P2kElfs/tree/master/Overclock
Дополнительно: Найденный мной способ программного разгона ядра ARM7TDMI в SoC Neptune LTE/LTE2 со штатных 52 МГц до 65 МГц, оформленный в виде ELF-приложения. Подробнее см. тему Разгон процессора в Motorola E398, Motorola RAZR V3i и подобных, 52 MHz => 65 MHz, +20% Performance Boost! на форуме. Более подробное описание, дополнительную информацию и самое главное, таблицы сравнения производительности после разгона, можно найти по ссылке на GitHub'е.
YouTube: Overclocking and Benchmakring old Motorola P2K phones (52 MHz to 65 MHz)
Скриншоты Motorola SLVR L6i, V600, ROKR E1:
Изображение

Прикреплённые файлы:
• Overclock.elf (ELF для ElfPack 1.0)
• Overclock_V600.elf (ELF для ElfPack 1.0, версия для Motorola V600)
• Overclock_L7e.elf (ELF для ElfPack 1.0, нерабочая версия для Motorola SLVR L7e)
Прикрепленный файл Overclock.zip   ( 22.79 килобайт ) Кол-во скачиваний: 4
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 13.11.2023, 8:40


Rock The Microphone
********

Группа: Администраторы
Сообщений: 2 983
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652

Рейтинг: 4615



11. Perlin

Назначение: Порт демки на основе Perlin-шума с платформы DCT-3 (Nokia 3310).
Автор: BOOtak (Кирилл Лейфер), EXL
Протестировано на Motorola: SLVR L6, SLVR L6i, E398, ROKR E1, V600, V360, V235, SLVR L7, SLVR L7e, RAZR V3i
Платформа: ElfPack v1.x for ARM (EP1), ElfPack v2.x for ARM (EP2)
Тип приложения: GUI + ATI
Исходный код: https://github.com/EXL/P2kElfs/tree/master/Perlin
Управление:
• Левая софт-кнопка, Красная трубка, 0 - Выход.
• 1, 2, 3 - Изменить цветовую палитру.
• 5 - Включить или выключить демку огня (медленно!).
Дополнительно: После того как Кирилл Лейфер опубликовал видеоролик Пишем игру для Nokia 3310 мне захотелось перенести его наработки на Motorola P2K, этот ELF является попыткой портирования движка Кирилла с Nokia 3310. Более подробное описание, дополнительную информацию и самое главное, таблицы сравнения производительности, можно найти по ссылке на GitHub'е.
Полезные ссылки:
https://lab.exlmoto.ru/perlin/
https://exlmotodev.github.io/perlin/
https://lab.exlmoto.ru/snake_pit/
https://exlmotodev.github.io/snake_pit/
YouTube: Some ELF demos/games on Motorola P2K phones using ATI Imageon W2240/W2250 videochip
Скриншоты Motorola SLVR L6i, ROKR E1:
Изображение
Галерея фотографий:
Прикрепленное изображение

Прикреплённые файлы:
• Perlin.elf (ELF для ElfPack 1.0)
• Perlin_V600.elf (ELF для ElfPack 1.0, версия для Motorola V600)
• Perlin_EP2.elf (ELF для ElfPack 2.0)
Прикрепленный файл Perlin.zip   ( 20.32 килобайт ) Кол-во скачиваний: 1
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 13.11.2023, 8:49


Rock The Microphone
********

Группа: Администраторы
Сообщений: 2 983
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652

Рейтинг: 4615



12. Power Alert

Назначение: Простейший пример резидентной ELF-программы для отправки SMS-сообщения при отключении телефона от питания.
Автор: EXL
Платформа: ElfPack v1.x for ARM (EP1)
Протестировано на Motorola: SLVR L6, SLVR L6i, E398, ROKR E1
Тип приложения: Daemon
Исходный код: https://github.com/EXL/P2kElfs/tree/master/PowerAlert
Дополнительно: Простейшее резидентное приложение, целью которого является отправка SMS-сообщения когда поставленный на зарядку телефон отключается от неё. Это позволяет сигнализировать об отключении питания в каком-либо месте. Вместо того чтобы покупать Arduino с GSM-модулем на AliExpress и ждать, можно просто использовать старый мобильный телефон от Motorola. Код этого приложения благодаря своей простоте хорошо подходит для изучения. Более подробное описание и дополнительную информацию можно найти на GitHub'е. Приложение было написано в демонстрационных целях для Воха, номер для исходящих SMS-сообщений задаётся напрямую в исходном коде.

Прикреплённые файлы:
• PowerAlert.elf (ELF для ElfPack 1.0)
Прикрепленный файл PowerAlert.zip   ( 3.09 килобайт ) Кол-во скачиваний: 3
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 13.11.2023, 9:04


Rock The Microphone
********

Группа: Администраторы
Сообщений: 2 983
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652

Рейтинг: 4615



13. Screenshot

Назначение: Резидентный ELF для быстрого снятия скриншотов в формате BMP 16bpp.
Автор: EXL
Платформа: ElfPack v1.x for ARM (EP1)
Протестировано на Motorola: SLVR L6, SLVR L6i, E398, ROKR E1, V600, V235, RAZR V3r, SLVR L7e, KRZR K1
Тип приложения: GUI + Deamon
Исходный код: https://github.com/EXL/P2kElfs/tree/master/Screenshot
Управление:
• 0 - Удерживать 0.5-1.5 секунд для вызова окна справки.
• # - Удерживать 0.5-1.5 секунд для того чтобы сделать скриншот экрана.
• * - Удерживать 0.5-1.5 секунд для выхода из приложения.
Дополнительно: Поскольку исходники Screener.elf от Andy51 остались закрытыми, мне пришлось написать собственную версию простой ELF-программки для снятия скриншотов на телефонах Motorola P2K. Более подробное описание и дополнительную информацию можно найти на GitHub'е.
Скриншоты Motorola ROKR E1, V600, SLVR L6i:
Изображение Изображение Изображение

Прикреплённые файлы:
• Screenshot.elf (ELF для ElfPack 1.0)
• Screenshot_NP.elf (ELF для ElfPack 1.0, NoPacked-версия для Motorola SLVR L7e, KRZR K1 и др.)
• Screenshot_V600.elf (ELF для ElfPack 1.0, NoPacked-версия для Motorola V600)
Прикрепленный файл Screenshot.zip   ( 14.49 килобайт ) Кол-во скачиваний: 1
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 13.11.2023, 9:24


Rock The Microphone
********

Группа: Администраторы
Сообщений: 2 983
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652

Рейтинг: 4615



14. Spout

Назначение: Порт простенькой, но сильно затягивающей японской игры с платформы P/ECE.
Автор: kuni, EXL
Протестировано на Motorola: SLVR L6, SLVR L6i, E398, ROKR E1, V600, V360, V235, SLVR L7, RAZR V3i, SLVR L7e (баги памяти), KRZR K1 (баги памяти)
Платформа: ElfPack v1.x for ARM (EP1), ElfPack v2.x for ARM (EP2)
Тип приложения: GUI + ATI
Исходный код: https://github.com/EXL/P2kElfs/tree/master/Spout
Управление:
• Левая софт-кнопка, Красная трубка, 0 - Выход.
• D-Pad, Joystick, 2, 4, 8, 6 - Движение.
• D-Pad Center, Joystick Center, 5 - Огонь.
• 3 - Включить или выключить авто-огонь.
• 9 - Пауза.
Дополнительно: Перенос одной из моих самых любимых маленьких игрушек на телефоны Motorola P2K. Правила игры довольно просты: вам нужно подниматься на корабле все выше и выше, борясь с гравитацией и разрушая препятствия реактивной струей. Более подробное описание, дополнительную информацию и самое главное, таблицы сравнения производительности, можно найти по ссылке на GitHub'е.
Полезные ссылки:
https://exlmoto.ru/spout-droid/
https://github.com/EXL/Spout
http://www.susami.co.jp/kuni/junk/junk.htm
https://njw.me.uk/spout/
https://lab.exlmoto.ru/spout/
https://exlmotodev.github.io/spout/
YouTube: Some ELF demos/games on Motorola P2K phones using ATI Imageon W2240/W2250 videochip
Скриншоты Motorola SLVR L6i, ROKR E1:
Изображение
Галерея фотографий:
Прикрепленное изображение Прикрепленное изображение

Прикреплённые файлы (буквы в имени описывают возможности):
• R (1-я) - Аппаратный rotozoom вывода средствами ATI Imageon, к примеру, 128x88 => 176x220, 128x88 => 128x160 и т. д.
• O (1-я) - Оригинальное разрешение без любых трансформаций.
• L (2-я) - Low, 15 FPS обновление вывода.
• H (2-я) - High, 30 FPS обновление вывода.
• 1 (3-я) - ELF для ElfPack 1.0.
• 2 (3-я) - ELF для ElfPack 2.0.
• J (4-я) - Использование Java Heap вместо System Heap для телефонов с маленьким количеством RAM. Требуется запущенное и свёрнутое Java-приложение перед запуском ELF'а.
• L (4-я) - Версия с длинным хвостом.
+ Версии для Motorola V600.
Прикрепленный файл Spout.zip   ( 265.01 килобайт ) Кол-во скачиваний: 1
Прикрепленный файл Spout_Motorola_L6_E1_EXL.mp4   ( 24.58 мегабайт ) Кол-во скачиваний: 5
Прикрепленный файл Spout_Motorola_L7_Redraggon.mp4   ( 13.56 мегабайт ) Кол-во скачиваний: 6
Прикрепленный файл Spout_Motorola_V235_Indepth6.mp4   ( 1.55 мегабайт ) Кол-во скачиваний: 6
Прикрепленный файл Spout_Motorola_V360_baat.mp4   ( 3.16 мегабайт ) Кол-во скачиваний: 7
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 13.11.2023, 9:43


Rock The Microphone
********

Группа: Администраторы
Сообщений: 2 983
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652

Рейтинг: 4615



15. Vibro Haptic
Изображение

Назначение: Резидентный ELF для вибро-отклика в различных меню телефона на манер Sony Ericsson.
Автор: EXL
Платформа: ElfPack v1.x for ARM (EP1)
Протестировано на Motorola: SLVR L6, SLVR L6i, V600, V235, V360, RAZR V3r
Тип приложения: Deamon + GUI
Исходный код: https://github.com/EXL/P2kElfs/tree/master/VibroHaptic
Дополнительно: Для вывода главного меню приложения следует зажать левую софт-кнопку на 3.0-5.0 секунд. Мне всегда нравился небольшой но ощутимый вибро-отклик при навигации в главном меню на телефонах Sony Ericsson, это ELF-приложение попытка реализации подобного поведения. Более подробное описание и дополнительную информацию можно найти на GitHub'е.
Доступные режимы:
• Menus - вибро-отклик в меню из иконок.
• Lists - вибро-отклик в меню из списков.
• All - вибро-отклик в меню из иконок и списков.
Скриншоты Motorola SLVR L6i, V600:
Изображение

Прикреплённые файлы:
• VibroHaptic.elf (ELF для ElfPack 1.0)
• VibroHaptic_V600.elf (ELF для ElfPack 1.0, версия для Motorola V600)
Прикрепленный файл VibroHaptic.zip   ( 18.87 килобайт ) Кол-во скачиваний: 0
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 13.11.2023, 9:57


Rock The Microphone
********

Группа: Администраторы
Сообщений: 2 983
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652

Рейтинг: 4615



16. Yeti3D Old

Назначение: Порт старой демо-версии 3D-движка Yeti3D с платформы Nintendo Game Boy Advance (GBA).
Автор: Derek J. Evans, EXL
Протестировано на Motorola: SLVR L6, SLVR L6i, E398, ROKR E1
Платформа: ElfPack v1.x for ARM (EP1), ElfPack v2.x for ARM (EP2)
Тип приложения: GUI + ATI
Исходный код: https://github.com/EXL/P2kElfs/tree/master/Yeti3D-Old
Управление:
• Левая софт-кнопка, Красная трубка, 0 - Выход.
• D-Pad, Joystick, 2, 4, 8, 6 - Движение.
Дополнительно: В этой интересной техно-демке 3D-движка продемонстрирован очень крутой уровень графики для слабеньких телефонов Motorola. Сам движок разрабатывался в первую очередь для Nintendo Game Boy Advance (GBA), что позволило его относительно легко перенести, переписав видеовывод на AHI и решив проблемы с конверсией Little-Endian => Big-Endian. Более подробное описание, дополнительную информацию и самое главное, таблицы сравнения производительности, можно найти по ссылке на GitHub'е.
Полезные ссылки:
https://www.gbadev.org/demos.php?showinfo=568
https://lab.exlmoto.ru/y3do/
https://exlmotodev.github.io/y3do/
YouTube: Yeti3D Engine (old version) port to ELF for Motorola P2K phones
Скриншоты Motorola SLVR L6i, ROKR E1:
Изображение
Галерея фотографий:
Прикрепленное изображение

Прикреплённые файлы (буквы в имени описывают возможности):
• O (1-я) - Оригинальное разрешение без любых трансформаций.
• Z (1-я) - Аппаратный zoom вывода средствами ATI Imageon, к примеру, 82x122 => 176x220, 64x96 => 128x160 и т. д.
• 1 (2-я) - ELF для ElfPack 1.0.
• 2 (2-я) - ELF для ElfPack 2.0.
Прикрепленный файл Yeti3D-Old.zip   ( 158.44 килобайт ) Кол-во скачиваний: 3
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 13.11.2023, 10:39


Rock The Microphone
********

Группа: Администраторы
Сообщений: 2 983
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652

Рейтинг: 4615



17. Yeti3D

Назначение: Порт новой версии техно-демки 3D-движка Yeti3D с платформы Nintendo Game Boy Advance (GBA).
Автор: Derek J. Evans, EXL
Протестировано на Motorola: SLVR L6, SLVR L6i, E398, ROKR E1, V600, V360, V235, SLVR L7, RAZR V3i, RAZR V3r, SLVR L7e (частично), KRZR K1 (частично)
Платформа: ElfPack v1.x for ARM (EP1), ElfPack v2.x for ARM (EP2)
Тип приложения: GUI + ATI + Java Heap + Videomode + Tasks (в версии с Task'ами).
Исходный код: https://github.com/EXL/P2kElfs/tree/master/Yeti3D
Управление:
• Левая софт-кнопка, Красная трубка, 0 - Выход.
• D-Pad, Joystick, 2, 4, 8, 6 - Движение.
• 1 - Смотреть вверх.
• 3 - Смотреть вниз.
• 7, 9 - Прыжок.
• D-Pad Center, Joystick Center, 5 - Огонь (недоступно в оптимизированной версии).
Дополнительно: Зацените графоний, который доселе никогда не отображался на дисплеях наших слабеньких P2K-моторолок! Я портировал некоторые интересные 3D-движки и технодемки Yeti3D с Nintendo Game Boy Advance (GBA) и хотя частота процессора Neptune LTE1/2 (ARM7TDMI) @ 52 MHz и видеочип ATI Imageon W22xx в телефоне не позволяют сильно разгуляться, кое-что всё-таки удалось выжать. Те, у кого по странному стечению обстоятельств почему-то всё ещё нет телефона Motorola на платформе P2K могут потыкать эти технодемки 3D-движков онлайн, прямо в Web-браузере! Сам движок разрабатывался в первую очередь для Nintendo Game Boy Advance (GBA), что позволило его относительно легко перенести, переписав видеовывод на AHI и решив проблемы с конверсией Little-Endian => Big-Endian. Кроме того потребовалось использовать Java Heap вместо System Heap, поскольку этот движок требователен к RAM и кушает около 500-600 KB. Для телефонов с небольшим количеством RAM подготовлена оптимизированная версия, которая кушает 300-400 KB. Версии с полноэкранным видеовыводом 1-в-1 требуют изменение видеорежима дисплея на поворотный на 90°. Помимо этого есть вресия для Task'ов, в которой имеется отдельный Event-цикл, что пресекает перезагрузки. Переносить этот движок на мобильные телефоны было очень увлекательно, часть различных программерских историй были рассказаны в нашем Telegram-канале MotoFan.Ru, почитайте кому интересно и присоединяйтесь. Сцена кодинга под Motorola P2K до сих пор жива! Более подробное описание, дополнительную информацию и самое главное, таблицы сравнения производительности, можно найти по ссылке на GitHub'е.
Полезные ссылки:
https://web.archive.org/web/20031204145215/.../gba/index.html
https://sourceforge.net/projects/yeti3dpro/
Нативные игры и эмуляторы для ZN5
https://lab.exlmoto.ru/y3d/
https://exlmotodev.github.io/y3d/
YouTube: Yeti3D Engine port to ELF for Motorola P2K phones
Скриншоты Motorola SLVR L6i, ROKR E1:
Изображение
Галерея фотографий:
Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение

Прикрепленное изображение Прикрепленное изображение

Прикреплённые файлы (буквы в имени описывают возможности):
V (1-я) - Аппаратная смена видеорежима средствами ATI Imageon, к примеру, 176x220 => 220x176, 128x160 => 160x128 и т. д.
R (1-я) - Аппаратный rotozoom вывода средствами ATI Imageon, к примеру, 120x80 => 176x220, 96x64 => 128x160 и т. д.
N (2-я) - Неоптимизированная версия со спрайтами и логикой сущностей.
O (2-я) - Оптимизированная версия без спрайтов и логики сущностей.
1 (3-я) - ELF для ElfPack 1.0.
2 (3-я) - ELF для ElfPack 2.0.
T (4-я) - ELF для ElfPack 2.0 с использованием Task'ов и Semaphor'ов.
D (4-я) - Отладочная версия с экранным буфером в Java Heap и выводом FPS, работает без константы Class_dal.
J (4-я) - Специальные оптимизированные версии с экранным буфером в Java Heap для телефонов с небольшим количеством RAM: Motorola V600, Motorola V235.
F (4-я) - Специальные версии с выводом FPS.
L (4-я) - Специальные версии с длинным поиском адресов поверхностей для Motorola RAZR V3r.
U (4-я) - Специальные версии с переворотом экрана для Motorola SLVR L6.
S (5-я) - Версии с ограничением FPS, чтобы телефон не перезагружался.
Прикрепленный файл Yeti3D.zip   ( 615.38 килобайт ) Кол-во скачиваний: 6
Прикрепленный файл Yeti3D_Motorola_K1_FEAR4ik_1.mp4   ( 18.54 мегабайт ) Кол-во скачиваний: 0
Прикрепленный файл Yeti3D_Motorola_K1_FEAR4ik_2.mp4   ( 10.74 мегабайт ) Кол-во скачиваний: 2
Прикрепленный файл Yeti3D_Motorola_L6_E1_EXL.mp4   ( 22.35 мегабайт ) Кол-во скачиваний: 3
Прикрепленный файл Yeti3D_Motorola_L7_baat_1.mp4   ( 8.11 мегабайт ) Кол-во скачиваний: 1
Прикрепленный файл Yeti3D_Motorola_L7_baat_2.mp4   ( 2.12 мегабайт ) Кол-во скачиваний: 5
Прикрепленный файл Yeti3D_Motorola_L7e_baat_1.mp4   ( 3.69 мегабайт ) Кол-во скачиваний: 1
Прикрепленный файл Yeti3D_Motorola_L7e_baat_2.mp4   ( 2.45 мегабайт ) Кол-во скачиваний: 3
Прикрепленный файл Yeti3D_Motorola_V3r_Bs0Dd_1.mp4   ( 8.63 мегабайт ) Кол-во скачиваний: 5
Прикрепленный файл Yeti3D_Motorola_V3r_Bs0Dd_2.mp4   ( 33.58 мегабайт ) Кол-во скачиваний: 2
Прикрепленный файл Yeti3D_Motorola_V235_Indepth6.mp4   ( 1.66 мегабайт ) Кол-во скачиваний: 2
Прикрепленный файл Yeti3D_Motorola_V360_baat_1.mp4   ( 5.45 мегабайт ) Кол-во скачиваний: 4
Прикрепленный файл Yeti3D_Motorola_V360_baat_2.mp4   ( 4.11 мегабайт ) Кол-во скачиваний: 2
Прикрепленный файл Yeti3D_07-Mar-2024.zip   ( 697.67 килобайт ) Кол-во скачиваний: 3
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 17.11.2023, 18:42


Rock The Microphone
********

Группа: Администраторы
Сообщений: 2 983
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652

Рейтинг: 4615



18. Bad Apple

Назначение: Реализация популярного демо "Bad Apple!!" энкодированного в 1bpp сжатые кадры и воспроизводимого с помощью GPU.
Автор: EXL
Протестировано на Motorola: SLVR L6, SLVR L6i, E398, ROKR E1, V600, V235
Платформа: ElfPack v1.x for ARM (EP1)
Тип приложения: GUI + ATI + 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!! demo on Motorola E398/ROKR E1 and other P2K phones
Скриншоты Motorola SLVR L6i, ROKR E1:
Изображение
Галерея фотографий:
Прикрепленное изображение

Прикреплённые файлы:
• BadApple.elf (ELF для ElfPack 1.0)
• BadApple_V600.elf (ELF для ElfPack 1.0, версия для Motorola V600)
• BadApple_60fps.elf (ELF для ElfPack 1.0, экспериментальная 60 FPS демоверсия)
Прикрепленный файл BadApple.zip   ( 8.22 мегабайт ) Кол-во скачиваний: 15
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 27.2.2024, 8:47


Rock The Microphone
********

Группа: Администраторы
Сообщений: 2 983
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652

Рейтинг: 4615



+ Обновление Dumper и Benchmark

Dumper: Добавлена возможность снятия и просмотра дампов периферии Neptune, ревизии и серийного номера.

Изображение Изображение

Benchmark: Добавлено тестирование скорости чтения и записи на диски телефона, 3-ий и 4-ий скриншоты показывают отличия на Motorola ROKR E1 при разгоне с 52 MHz (3-ий скриншот) и 65 MHz (4-ый скриншот).

Изображение Изображение Изображение Изображение

Скачать можно в стартовом посте и в постах:

1. Dumper
2. Benchmark
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
ELFs by EXL: Ностальгия разработки под Motorola P2K, Обновлено 25-Mar-2024: 18. Bad Apple · Эльфы, их разработка и портирование · Forum
 

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

 



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

Форум живёт: