Обновить
32K+
409
Александр Семенов@shiru8bit

Узкий специалист широкого профиля

124,9
Рейтинг
335
Подписчики
Отправить сообщение

Основной источник потери ресурсов в Arduino BSP был в обработчике прерываний. Это всё-таки поправили, дали возможность его оптимизировать под конкретную задачу. Память да, ест, но и на AVR ело, жить как-то можно. Компилятор не так уж плохо выкидывает всё ненужное.

Я тестировал загрузку на разных машинах, старом мощном десктопе с Windows 7 и ноутбуке с Windows 10. Скорость там и там была одинаковой, из чего я сделал вывод, что дело не в моём локальном окружении (если бы было на одной машине, тогда понятно). Но возможно, дело в виндовой сборке загрузчика как таковой. Попробую на досуге запустить тот же FreeBSD и залить из него, интересно проверить.

Хаффман точно даст хороший выигрыш на подобной задаче.

Обычный LZ требует буфер, так как ссылается на распакованные данные. Но можно сделать необычный LZ-подобный упаковщик, ссылающийся на запакованные данные. Я делал такое для некоторых задач, и это тоже работает достаточно неплохо, хотя и не так эффективно.

Там механическая развёртка, экран — это вертикальная полоска светодиодов, реально 224 штуки, две таких полоски, и два зеркала сканируют растр по горизонтали. Получается 384x224 на каждый глаз.

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

а вот игры от портативки на обучающем устройстве… работают, но для этого при запуске нужно быстро поменять обучающий картридж на игровой

В PocketChallenge вроде бы в принципе матрица кнопок другая, и игры запустятся, но поиграть не выйдет, управление будет перепутанным. У меня есть PC v2, всё собираюсь переделать его в WS-совместимый вариант.

Да, там есть хитрости, особенно в настолько низком разрешении. Я делал аналогичное сжатие для NES с картриджем на 64 мегабайта, где словарь был у каждого кадра свой, и было не сильно важно, если контуры немного искажаются. Тем интереснее было бы почитать, как преодолеваются такие неочевидные моменты и идёт борьба до последнего байта!

Вы же догадываетесь, что это далеко не единственный контроллер в моём хозяйстве. Я как-то публиковал на Хабре три большие статьи с простым перечислением Ардуино-совместимых плат, какие у меня есть. И когда всё остальное пройдено, да, хочется извращений.

Факт, что есть зарубежные аналоги в разы мощнее и дешевле. Это пока самая слабая сторона этой разработки, и слабо верится, что она станет сильно доступнее в обозримое время. Но и родная Ардуина поначалу стоила не так уж дёшево. Итальянский оригинал Uno R3 до сих пор в наших краях стоит около 5К, хотя ничем не лучше китайских за 500.

Надо писать! Больше яблок плохих и разных! Заполоним всю планету!

Я думаю, для такого разрешения и целевого объёма можно использовать метод: разбить кадры на блоки типа 8 на 8 пикселей, и убирать наиболее похожие пары, пока не останется 256 максимально разных. Далее закодировать кадр номерами наиболее подходящих визуально блоков. Один несжатый кадр будет иметь размер 20 байт (30К при 7 FPS) плюс словарь блоков 2048 байт. Ещё чуть-чуть сверху попрыгать, и влезет в Mega328.

Но это мой вариант, а всегда очень интересно, какие подходы и идеи приходят в голову другим людям.

Поддержку в Arduino IDE нужно ещё немного дожать, и это будет вполне рабочий вариант. Всё-таки Arduino — это путь к массовости, а это важно. Ну а напрямую тоже как-нибудь поработаю, для какого-нибудь более ресурсоёмкого проекта, тоже должна получиться интересная тема.

Это определённо поможет в будущем. Я всё же хочу сделать полноценную цветную версию яблока с нормальным звуком, «на все деньги», то есть на все доступные мегабайты флеша, и загрузчик изобрести придётся. Хотя бы приспособить ex_loader_2, или подсмотреть там идеи для собственного загрузчика.

Примерно за тем же, зачем разработчики ковыряются в устаревшей или экзотической технике. Интерес.

Это главный плюс «Амура» — он реально есть, его реально просто пойти и купить. Но для любителя всё-таки это дорого, особенно на фоне китайских альтернатив. Купить хочется, но сильно колется.

Эти 16 мегабайт там нужно прошивать два с небольшим часа. И вряд ли ОЗУ будет главной проблемой, если у самого контроллера средняя производительность не сильно выше, чем у 8-битной Ардуины.

Эх, обогнали, была подобная штука в работе. Впрочем, вряд ли это меня остановит. Ну а данный прибор тоже как-нибудь приобрету в коллекцию, когда разбогатею.

Но всё-таки надо заметить: действительным аналогом ардубою эта штука станет тогда, когда на ней будет работать его библиотека и игры, через перекомпиляцию. А пока что это просто плата с контроллером, экраном и кнопками.

Так давно уже выпустили - ACE-UNO, ACE-NANO, и другие платы.

Спасибо за отзыв! Планов и заготовок под будущие публикации очень много, постепенно реализую.

О, у меня был Penetrator в детстве на Спектруме, нравился. Прикольный клон Scramble. И я теперь смутно припоминаю, что слышал этот трек Лесникова, вероятно ещё в до-ютубные времена. Жаль, что не вспомнил, когда писал статью.

Читатель подсказал в ЛС, что я упустил ещё один занятный русскоязычный трек про игры, посвящённый игре Zybex. Не самая известная игра, но многие отечественные геймеры знакомы с ней по версиям для Atari XL и ZX Spectrum.

Увы, просто не знал про неё. Я пытался целенаправленно искать песни с видеоигровой тематикой, но это довольно сложный запрос

Информация

В рейтинге
62-й
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность

Специализация

Разработчик игр, Разработчик приложений
Старший
От 9 000 $
Английский язык
C++
C
Программирование микроконтроллеров
Оптимизация кода
Разработка программного обеспечения
Системное программирование
Assembler