Pull to refresh
37
3.1
Send message

YRGB 2024 — конкурс по созданию игр для ZX Spectrum

Reading time6 min
Views3.4K

Жизнь отечественных геймеров в конце 80-х — начале 90-х годов была очень непростой. Из советских электронных развлечений были разве что клоны Pong вроде «Видеоспорта», карманные электронные игры типа «Ну, погоди!» (тоже клоны, но уже серии Game & Watch от Nintendo), несколько десятков советских компьютеров с довольно ограниченным набором софта да несколько сотен (!) клонов британского компьютера ZX Spectrum.

И сегодня я хочу рассказать вам о YRGB — международном конкурсе по разработке ретро‑игр, который Яндекс проводит с 2019 года. Участникам необходимо разработать самостоятельную игру, свободную от авторских прав, для платформ ZX Spectrum 48K/128K. Так что если вы когда‑нибудь делали игры или хотите попробовать, но опасаетесь масштаба современных платформ, этот пост для вас.

> START
Total votes 32: ↑32 and ↓0+44
Comments34

Управление для DIY-проекта с помощью Bluetooth геймпада. Часть 1 (Arduino)

Level of difficultyEasy
Reading time6 min
Views2.6K

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

Читать далее
Total votes 6: ↑6 and ↓0+8
Comments11

Как мы искали Марс-3

Reading time9 min
Views441K
Честное слово, это почти случайно получилось, что такая новость пришла к началу апреля и Дню космонавтики. Сегодня я расскажу о том, как история, которая началась и оборвалась более 40 лет назад, внезапно получила продолжение в наши дни. О том, как простой юзернейм вконтакта, в своем интересе к Марсу дошел до NASA. О том, что международная солидарность ученых — не пустой звук. И о том, что космос ближе, чем кажется.

Мы искали Марс-3.

И мы нашли его! Прямо на Марсе, на дне гигантского кратера Птолемея, среди безжизненных пустошей и валунов.

О том, как мы это сделали, сегодняшний рассказ.


Читать дальше →
Total votes 677: ↑669 and ↓8+661
Comments169

Мурмулятор — ультрабюджетный микрокомпьютер

Level of difficultyEasy
Reading time3 min
Views17K

Как я познакомился с Мурмулятором? Я искал какой-то недорогой одноплатный компьютер для запуска эмуляторов ретро-компов.Чем меня не устраивало использование эмуляторов на "настоящем" компьютере? Ничем. Просто хотелось отдельное устройство. Я рассматривал вариант покупки старого ноута специально под эту задачу, потом смотрел на Raspberry Pi 400, Orange Pi и на прочие одноплатники. В процессе поисков я наткнулся на видео самостоятельной сборки оригинального одноплатника с бюджетом в $5. Понятно, что впоследствии я в эту сумму и близко не вложился, но данное изделие меня всё-таки зацепило. Вот так у меня и появился первый ZX Murmulator.

Читать далее
Total votes 50: ↑50 and ↓0+67
Comments13

Имя enum'a C++ в рантайме

Reading time10 min
Views6.4K

Получение имени типа, не важно это структура или перечисление, в C++ — проблема. То, что тривиально известно компилятору на этапе парсинга исходников, не получится перевести в человеко-читаемый вид в рантайме. Можно использовать std::type_info::name, который не является переносимым решением, потому что зависит от реализации манглинга в компиляторе. Некоторые компиляторы (например, MSVC, IBM, Oracle) создают "удобное" имя типа, а вот gcc и clang, возвращают искаженное имя, котороe можно преобразовать в удобочитаемую форму с помощью дополнительных функций, например abi::__cxa_demangle. Чтобы вся эта магия работала нужно подключить RTTI, который тоже не всегда доступен, а иногда и вообще-то вреден, потому что сжирает драгоценную производительность, но можно сделать по другому.

follow the white rabbit
Total votes 7: ↑7 and ↓0+7
Comments11

Гарри Поттер и имя типа в компайлтайм

Level of difficultyMedium
Reading time6 min
Views2.7K

Пару лет назад я написал статью про получение имен элементов enum в моих любимых плюсах без использования typeid, макросов и черной магии, а то и вообще в компайлтайм. Хотя нет, немного магии там все же было. Это был интересный опыт, но особого применения в проде я так и не нашел, хотя коллеги начали активно использовать эту возможность чтобы итерироваться по enum в поисках нужного элемента по его строковому представлению. Оно конечно задумывалось наоборот, но как говорится, пасту в тюбик обратно не запихнешь, пользуются и то радость. И тут в домашнем игровом движке мне понадобился похожий функционал получения имени структуры или класса в компайлтайм, можно конечно было сделать через typeid, но в релизной сборке rtti планируется отключать, так что этот вариант не подходит. А конвертировать имя структуры в строку все же хочется. При чем тут Гарри и для чего это все нужно в конце статьи.

Wingardium Leviofa
Total votes 11: ↑11 and ↓0+15
Comments12

Zigbee датчик присутствия на сенсоре LD-2410

Reading time2 min
Views10K

Это уже вторая версия датчика присутствия на чипе LD-2410. Первая была максимально простая, прошивка была собрана на PTVO, все хорошо работало, но захотелось немного расширить функционал.

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments6

Per aspera ad astra, или как я строил ракету. Часть 2. Собираем альтиметр на STM32 и BMP280

Reading time5 min
Views8.9K


Всем привет! 

В предыдущей части я остановился на том, что мои ракеты удачно взлетели и приземлились, а на одной даже был установлен альтиметр. В этой статье я и расскажу о том как сделать простой высотомер на основе STM32 Nucleo L031K6 и датчика давления BMP 280 , который к тому же хранит все данные во Flash памяти.
Читать дальше →
Total votes 29: ↑29 and ↓0+29
Comments43

Сравнение датчиков температуры. Часть 2, цифровые

Level of difficultyEasy
Reading time7 min
Views8.5K

Как обмануть родителей и не идти в школу? Есть простой рецепт. Берем градусник, нагреваем его при помощи фена или обогревателя до требуемой температуры 38 °C, имитируем хриплый голос и сопли, демонстрируем все обозначенное взрослым. Но получится ли провернуть такую операцию, если градусник цифровой? К счастью, да, проверено на медицинском термометре WT-03 BASE фирмы B.Well. Проверено теоретически, конечно, я же уже взрослый.

Ртутный градусник имеет интересное свойство запоминать максимальную температуру. В электронном термометре эту функцию заменяет программа. Есть некоторый начальный порог, что-то около 30 °C и если затем положить прибор в холодильник, то он покажет последнее максимальное значение. Нет необходимости удерживать требуемую для обмана температуру продолжительное время. Отлично.

Читать далее
Total votes 9: ↑8 and ↓1+9
Comments17

Фотостудия для съёмок пластилиновой игры

Reading time3 min
Views32K
Привет! В жизни почти каждого разработчика игр наступает момент, когда он отбивается от стаи, выкапывает себе нору и начинает в одиночку делать «лучшую в мире игру, не то что эти всякие». 2 года назад это случилось и со мной. Не обладая навыками художника, я решил замахнуться на stop-motion анимацию и делать всю графику из пластилина.

image
Читать дальше →
Total votes 130: ↑130 and ↓0+130
Comments97

Ударим революционным БИЧом по хвостатой классике

Reading time26 min
Views6.2K

Облик самолёта с фюзеляжем и расположенными сзади килем и стабилизатором утвердился быстро и прочно – его называют даже не «классической», а «нормальной» аэродинамической схемой. Но всегда находились чудаки, создававшие разного рода «ненормальные» аэропланы. Самые «чудачные» из них размышляли так: чтобы подняться в небо, самолёту не нужно ничего, кроме крыла, остальное только мешает своим весом и сопротивлением. Так почему бы не избавиться от всего лишнего? Тогда моторы, топливо, экипаж, полезная нагрузка разместятся внутри несущей поверхности. Такая схема получила название «летающее крыло», а сто лет назад её познакомил с небом Борис Черановский – авиаконструктор и мечтатель.

Читать далее
Total votes 44: ↑40 and ↓4+52
Comments4

Обзор музыкального устройства Covox на Спектруме

Level of difficultyEasy
Reading time10 min
Views2.6K

Не так давно в среде спектрумистов в очередной раз была поднята тема про Covox. Как «старый спектрумист» формально понимаю, о чём речь, но вот железного устройства у меня, ни когда не было. В моём городе на точках продажи оно не прижилось, а для самостоятельного интереса на тот момент не было необходимого понимания и знания. Поиск информации выдал значительное количество разных схем и прочих технических вещей, но к моему большому удивлению, нигде не было описания для обывателя «что это такое и с чём его едят». Считаю, что стоит восполнить этот пробел.

Статья была опубликована в 2021 году в 29 номере журнала по ZX Spectrum'у "ЗаRulem Печатное Слово".

Статья написана в соавторстве с Вадимом Чертковым.

Читать далее
Total votes 12: ↑11 and ↓1+16
Comments35

Как построить мост между JavaScript и C++ через WASM, или гайд для самых маленьких

Level of difficultyEasy
Reading time11 min
Views5K

Всем привет. Сегодня я хочу рассказать об использовании WASM с C++ и разберу, как взаимодействовать с этим всем делом через JavaScript.

Материал предназначен для новичков в данной теме.

Читать далее
Total votes 14: ↑13 and ↓1+15
Comments8

Собираем недорогой 9.7" E-Ink дисплей для отображения чего угодно

Reading time2 min
Views72K
Всем привет. Давно хотел собрать большой E-Ink дисплей, который можно поставить на стол и отображать на нем полезную информацию (погоду, календарь и т.д.) В этой статье расскажу, как можно собрать такое устройство на базе ESP32 и дисплея от Kindle DX значительно дешевле, чем Waveshare.


Читать дальше →
Total votes 100: ↑97 and ↓3+129
Comments202

Погодный информер на цветном e-paper дисплее

Reading time9 min
Views9.2K

Года три назад я купил на Ali цветной e- paper дисплей «Waveshare 4.2 inch e-paper module», руководствуясь в основном желанием попробовать новую технологию своими руками.Дисплей может отображать 3 цвета (белый, черный, красный) с разрешением 400 на 300 точек. Интерфейс подключения – SPI. Всего требуется подключить пять информационных сигналов: DIN, CLK, CS, BUSY, RESET.Плюс естественно GND и питание.

Принцип действия такого дисплея: в жидкости находятся сферы, окрашенные в три цвета. Они могут поворачиваться под действием электрического поля и оставаться в таком состоянии неопределенно долгое время.

Основное достоинство такого дисплея в том, что энергия для его работы требуется только на этапе вывода новой информации. В статике энергия не требуется совсем.
Поэтому такой дисплей идеален в системах с автономным питанием с нечастым обновлением данных.

Поставленная задача была такой: сделать автономный беспроводной блок с e-paper дисплеем, на котором можно будет отображать информацию о текущей погоде и прогноз на ближайшее время.
Размещаться такой блок предполагалось в прихожей, чтобы погодную информацию можно было посмотреть в момент выхода и решить, например, надо брать зонт с собой.

Конечно я знаю, что можно ровно то же самое посмотреть на экране смартфона :))

Дисплей был куплен, присоединен к ESP8266 и опробован в работе с помощью программы Loader.ino, которую предлагает Waveshare. При запуске esp8266 создает сайт, зайдя на который можно вывести изображение на дисплей.

Оказалось, что картинки выводятся весьма убого… Т.е. дисплей пригоден для вывода текстовой информации, но и не более того.

Читать далее
Total votes 17: ↑17 and ↓0+17
Comments22

Расширенный экран «Profi», что это такое и как с ним работать. Часть вторая

Level of difficultyMedium
Reading time13 min
Views2.6K

Продолжение статьи по работе с расширенным экраном компьютера "Profi" опубликованной в 2003 году 16 номере в газете "Абзац". Информация значительно переработана и дополнена, в том числе примерами программирования.

Статья была опубликована в 2019 году в 25 номере журнала по ZX Spectrum'у "ЗаRulem Печатное Слово".

Статья написана в соавторстве с Вадимом Чертковым.

Читать далее
Total votes 16: ↑16 and ↓0+23
Comments53

Нажималка для YubiKey

Reading time12 min
Views29K
Если вы работаете в сфере информационных технологий, то у вас, возможно, есть аппаратный ключ безопасности YubiKey. У меня такой имеется. Это — YubiKey 5C Nano, показанный на следующем снимке.


YubiKey 5C Nano

Если вы работаете в области, не связанной с компьютерами, но при этом, в основном, пользуетесь ноутбуком, то вам, возможно, стоило бы обзавестись YubiKey. А если вы участвуете в политической кампании, или работаете журналистом, то вам, определённо, нужен YubiKey (или нечто подобное). Обсудите это с вашим отделом безопасности. Правда, этот материал будет кое о чём таком, о чём специалистам вашего отдела безопасности лучше не знать. Поэтому не говорите им об этой статье.
Total votes 37: ↑29 and ↓8+37
Comments32

Punk riff generator

Level of difficultyMedium
Reading time38 min
Views1.6K

В данной статье мы будем воспроизводить звук в браузере на примере небольшого проекта под названием Punk riff generator.

В проекте заложена нехитрая идея: дать возможность генерировать и воспроизводить в браузере 4 случайных аккорда, которые можно было бы в последствии использовать как основу для очередной панк-песни. Ну не здорово ли?

Читать далее
Total votes 15: ↑15 and ↓0+19
Comments13

Задача трёх тел (не китайская нефантастика)

Level of difficultyMedium
Reading time21 min
Views41K

Однажды, выполнив в Гугле запрос "Three body problem" ("Задача трёх тел"), я был просто поражен - первая страница результатов состояла только из ссылок на роман китайского писателя-фантаста Лю Цысиня с соответствующим названием, а также на телесериал, снятый по этому роману, т.е. ссылок на собственно задачу трёх тел не было вообще! Мне это показалось удивительным и несправедливым, поскольку сама по себе задача трёх тел тоже может выглядеть увлекательной в популярном изложении. В этой публикации я постарался привести некоторые доказательства этого утверждения.

Читать далее
Total votes 184: ↑182 and ↓2+234
Comments150

Telegram вместо студии звукозаписи: как я создал бота для мобильных музыкантов

Reading time6 min
Views10K

Привет! Я Виктор, проектный менеджер в Selectel. Последние 20 лет мое хобби — написание музыки. Выходит с переменным успехом (писать музыку, конечно), но это часть моей жизни. Сначала был Fruity Loops 3, потом Reaper, но душа всегда тянулась к «железу» и новым технологиям.

Под катом — история pet-проекта, который призван упростить жизнь мобильным музыкантам. Либо заставить технических специалистов сказать *meh* («До» малой октавы). Осторожно — внутри нейронки, музыкальное «железо» и плохой код на Python.
Читать дальше →
Total votes 41: ↑40 and ↓1+51
Comments17
1
23 ...

Information

Rating
1,121-st
Registered
Activity