Решил немного оживить тёплую-ламповую ветку и выложить в отдельную тему все 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. 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
Список задач
✅ 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 библиотеки.
19. C650_R365_G_0B.D3.08R - Motorola C380, C650, V180, V220, EP 1.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
Извиняюсь, если кого-то забыл. Если вы случайно попали в эту тему спустя десяток или более лет, спасибо вам огромное, ребята!
Прикреплённые файлы:
Для корректной работы моих 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. 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
Список задач
✅ 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 библиотеки.
19. C650_R365_G_0B.D3.08R - Motorola C380, C650, V180, V220, EP 1.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
Извиняюсь, если кого-то забыл. Если вы случайно попали в эту тему спустя десяток или более лет, спасибо вам огромное, ребята!
Прикреплённые файлы: