Forwarded from EXL
#coolstory
А вот процесс отладки 2048 на реальном устройстве удалённо. Этот прототип Motorola E680 с фотографии мой, который я давно выкупил у какого-то коллекционера, но он так до сих валяется у @Motofan в Украине, всё никак не можем согласовать почтовую отправку и содержимое посылки.
Так вот, @Motofan по моей просьбе ещё давно накатил Windows XP на один из своих старых компов, который подключен к интернету. Потом туда была поставлена программа AnyDesk (аналог TeamViewer), которая оказывается до сих пор поддерживает Windows XP.
Аппарат Motorola E680 очень старый (год выпуска 2004), поэтому с операционными системами старше Windows XP нормально он уже не работает. Зато под XP есть драйвера на USBNET от Belcarra и привычные драйвера от Motorola на тот же USB-модем. Вся прелесть E680 в том, что после подключения к компьютеру на USB-модем можно подать хитрую AT-команду, например, выполнив в
В телефоне подняты Telnet и Samba, что позволяет получить доступ к рутовой Shell-консоли с возможностью выполнять там привычные команды, запускать программы и кидать файлы на телефон или получать их с телефона прямо из Windows, просто введя в местном файловом менеджере адрес
Ну а дальше дело техники. Для E680 я написал программку, которая эмулирует нажатия на клавиатуру (нажатия на тачскрин я не успел доделать, но и без них справился), создал пару удобных скриптов-alias'ов типа "u — вверх, d — вниз, s — сделать скриншот", чтобы не ломать пальцы длинными параметрами в утилитах. А позже @Motofan решил прокинуть картинку с Web-камеры, направленной на телефон, чтобы я мог видеть экран устройства и не ковыряться со скриншотами. В итоге я мог свободно перемещаться по меню и выбирать нужные мне пункты и элементы интерфейса, не отвлекая @Motofan от дел.
Процесс разработки (правка кода, компиляция и линковка) происходили у меня на Linux-хосте, после чего я с помощью AnyDesk закидывал готовый исполняемый файл прямо в Motorola E680 через Samba, запускал программу рядом в окне PuTTY и отлаживал/тестировал её. Буквально за пару таких удалённых сеансов к E680 я вычистил все ошибки некорректного использования API (он закрыт, поэтому многое делается наугад), пофиксил все огрехи в интерфейсе программы и даже собрал небольшой SDK для Motorola E680.
А вот процесс отладки 2048 на реальном устройстве удалённо. Этот прототип Motorola E680 с фотографии мой, который я давно выкупил у какого-то коллекционера, но он так до сих валяется у @Motofan в Украине, всё никак не можем согласовать почтовую отправку и содержимое посылки.
Так вот, @Motofan по моей просьбе ещё давно накатил Windows XP на один из своих старых компов, который подключен к интернету. Потом туда была поставлена программа AnyDesk (аналог TeamViewer), которая оказывается до сих пор поддерживает Windows XP.
Аппарат Motorola E680 очень старый (год выпуска 2004), поэтому с операционными системами старше Windows XP нормально он уже не работает. Зато под XP есть драйвера на USBNET от Belcarra и привычные драйвера от Motorola на тот же USB-модем. Вся прелесть E680 в том, что после подключения к компьютеру на USB-модем можно подать хитрую AT-команду, например, выполнив в
cmd.exe
строку: AT+MODE=99 > COM4
, после чего E680 переключится из режима USB-модема в режим USBNET, а этот режим позволяет делать многие интересные вещи.В телефоне подняты Telnet и Samba, что позволяет получить доступ к рутовой Shell-консоли с возможностью выполнять там привычные команды, запускать программы и кидать файлы на телефон или получать их с телефона прямо из Windows, просто введя в местном файловом менеджере адрес
\\169.254.142.2
, благо даже древние Explorer'ы поддерживают Samba.Ну а дальше дело техники. Для E680 я написал программку, которая эмулирует нажатия на клавиатуру (нажатия на тачскрин я не успел доделать, но и без них справился), создал пару удобных скриптов-alias'ов типа "u — вверх, d — вниз, s — сделать скриншот", чтобы не ломать пальцы длинными параметрами в утилитах. А позже @Motofan решил прокинуть картинку с Web-камеры, направленной на телефон, чтобы я мог видеть экран устройства и не ковыряться со скриншотами. В итоге я мог свободно перемещаться по меню и выбирать нужные мне пункты и элементы интерфейса, не отвлекая @Motofan от дел.
Процесс разработки (правка кода, компиляция и линковка) происходили у меня на Linux-хосте, после чего я с помощью AnyDesk закидывал готовый исполняемый файл прямо в Motorola E680 через Samba, запускал программу рядом в окне PuTTY и отлаживал/тестировал её. Буквально за пару таких удалённых сеансов к E680 я вычистил все ошибки некорректного использования API (он закрыт, поэтому многое делается наугад), пофиксил все огрехи в интерфейсе программы и даже собрал небольшой SDK для Motorola E680.
Forwarded from EXL
#coolstory
@Limows, Alibek a1batross
Виртуалка с этой древней Red Hat Linux 7.3 прямиком из 2002 года нужна была для сборки кросс-компилятора для Motorola A760. Он в данный момент вообще утерян, а Motorola никогда не выкладывала исходники к этой древней модели телефона, фактически нарушала GPL.
Вот за что я ненавижу чёртову систему сборки
При этом я сначала для сборки взял Red Hat Linux 8.0 (его год выпуска 2003), но знатно поел говна, так как утилиты
Я конечно знал, что сборка кросс-платформенного toolchain'а то ещё "pain in ass" приключение, вот даже цитата такая имеется:
>Building a gcc / glibc cross-toolchain for use in embedded systems development used to be a scary prospect, requiring iron will, days if not weeks of effort, lots of Unix and Gnu lore, and sometimes willingness to take dodgy shortcuts.
Но реально не знал что это затянется почти на три дня по 2-3 часа работы. Пару раз хотелось забросить идею собрать этот чёртов компилятор, но вот сегодня всё-таки его добил. Насколько же дерьмовая сборочная инфраструктура GNU... бедные инженеры, которым приходилось работать с подобным. Рецепт сборки вышел на строк 200 с дикими костылями.
Теперь осталось проверить, будут ли собранные компиляторы порождать нормальные исполняемые файлы, которые сможет кушать A760... но это уже будет другая coolstory.
@Limows, Alibek a1batross
Виртуалка с этой древней Red Hat Linux 7.3 прямиком из 2002 года нужна была для сборки кросс-компилятора для Motorola A760. Он в данный момент вообще утерян, а Motorola никогда не выкладывала исходники к этой древней модели телефона, фактически нарушала GPL.
Вот за что я ненавижу чёртову систему сборки
autotools
, так это за то, что на современных системах все эти tool'ы из комплекта вроде autoconf
, automake
и пр. просто тупо не работают, выдавая невнятную хрень по типу вот на этой строчке m4-лапши (или bash-лапши) произошёл "троллинг" по типу "кончился стек >100500 для рекурсивных вызовов".При этом я сначала для сборки взял Red Hat Linux 8.0 (его год выпуска 2003), но знатно поел говна, так как утилиты
autotools
которые шли в этом дистре оказались слишком новые для моей цели, лол. Пришлось скачивать 7.3 и только там этот чёртов autotools
заработал как надо.Я конечно знал, что сборка кросс-платформенного toolchain'а то ещё "pain in ass" приключение, вот даже цитата такая имеется:
>Building a gcc / glibc cross-toolchain for use in embedded systems development used to be a scary prospect, requiring iron will, days if not weeks of effort, lots of Unix and Gnu lore, and sometimes willingness to take dodgy shortcuts.
Но реально не знал что это затянется почти на три дня по 2-3 часа работы. Пару раз хотелось забросить идею собрать этот чёртов компилятор, но вот сегодня всё-таки его добил. Насколько же дерьмовая сборочная инфраструктура GNU... бедные инженеры, которым приходилось работать с подобным. Рецепт сборки вышел на строк 200 с дикими костылями.
Теперь осталось проверить, будут ли собранные компиляторы порождать нормальные исполняемые файлы, которые сможет кушать A760... но это уже будет другая coolstory.
Forwarded from Do Androids Dream of Game boy?
Пытался коротко, а получилась большая портянка текста, про то, как дошёл до моддинга геймбоев. Много букв без картинок.
https://teletype.in/@famicombro/gbstory
#text #coolstory
https://teletype.in/@famicombro/gbstory
#text #coolstory
Teletype
Кулстори: как я увлёкся геймбоями и преисполнился в их моддинге
Ещё до появления Кинамана на YouTube я интересовался эмуляторами старых приставок и ретро геймингом. Не очень активно, т. к. ещё «вчера»...