LINUX.ORG.RU
ФорумTalks

Я сделал свой программируемый тетрис с двумя ядрами, цветным дисплеем и понятным API

 , , ,


0

1

Недавно я прикупил себе RPi Pico поиграться и посмотреть что же за МК такой они сделали. И из этого я сделал собственный программируемый тетрис, аж с 264кб ОЗУ, 2-мя ядрами 100мгц Cortex-M3, работающий от АКБ.

Мои читатели проявили некоторый интерес к гаджету и хотят заказать сборку по себестоимости для того, чтобы попрогать под такой чудо-гаджет (себестоимость - около 1.000 рублей).

Завтра выйдет полноценная статья о его разработке, но если вдруг кому интересно, можем пообсуждать здесь идеи DIY-консолей и обсуждение перенести на завтра)



Последнее исправление: hobbit (всего исправлений: 1)

Скажи честно, ты нейроразнообразный ?)

Та лапша что у тебя на фото (даже если ты сделаешь печатную плату) - делается на атмеге 328p-pu (сороконожке) и трех пальчиковых батарейках (либо li-ion+зарядчик-разрядчик-преобразователь через microusb). Даже разводку в редакторе не нужно ваять - можешь сразу на плате рисовать грифелем, жирным как этот топик.

windows10 ★★★★★
()
Ответ на: комментарий от windows10

Знатный велосипед у ТСа, но почему ты его не спросишь, что мешает без велосипеда купить обычный тетрис на алиэкспрессе?

DM_
()
Ответ на: комментарий от DM_

Нет, ну я понимаю DIY. Может он туда хочет какие-то фичи вставить вроде в тетрис втроем по вай-фаю с ботами.

Но зачем вот это вот все - я хз.

windows10 ★★★★★
()
Ответ на: комментарий от Smacker

Так 328p-pu и стоит в чипедипе тыщу рублей. В чём профит?

Даже у меня в\на оно стоит 390 в вашем эквиваленте. Значит не покупай в чипедипе.

Профита в хобби вообще никакого нет, на то оно и хобби.

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

windows10 ★★★★★
()
Ответ на: комментарий от windows10

О, снова не разбираясь в теме ты решил поумничать?) Какая разница на чем оно распаяно, если на фото прототип?

У тебя в памяти атмеги даже фреймбуфер палитровый не поместится и клока (тем более при 3.3в) не хватит хотя-бы просто на вывод пустого бэкбуфера в 30 FPS, а DMA там нет.

Единственный ближайший вариант - ESP32, но и его малинка уделает - она легко гонится до 400мгц (правда и жрет больше). Да, даже не блюпилы/блэкпилы)

На втором ядре будет 3D-софтрендер.

monobogdan1337
() автор топика
Последнее исправление: monobogdan1337 (всего исправлений: 1)
Ответ на: комментарий от quickquest

Звук чутка позже будет. Пока думаю, на встроенном хардварном ШИМ-контроллере его делать, или i2s ЦАП взять. ОЗУ всё ещё завались.

monobogdan1337
() автор топика
Последнее исправление: monobogdan1337 (всего исправлений: 1)
Ответ на: комментарий от monobogdan1337

В чем я должен разобраться, если на первом фото - коробка, а на втором сборник лапши ?

Какой еще фреймбуфер ? Какие еще 30 FPS ? Какие еще DMA ? Похоже в коде у тебя такая же лапша, как и в железе.

Если ты ниасилил программирование движения без перерисовки всего экрана то так и скажи.

windows10 ★★★★★
()
Ответ на: комментарий от windows10

По-моему он просто молодой и альтернативно обеспеченный.

t184256 ★★★★★
()
Ответ на: комментарий от windows10

Похоже в коде у тебя такая же лапша, как и в железе.

Лапша скорее у тебя в голове, если будучи дилетантом и совершенно не разбираясь в теме, ты лезешь делать какие-то выводы. И вместо того, чтобы адекватно ответить и сказать «окей дружище, все нормально, не будем разводить кашу» - ты решил продолжать выпендриваться и еще больше позорится.

Я за последние лет пять пощупал практически все вышедшие за последние 23 года GAPI. Как думаешь, я имею представление о том, как прогать графон и делать это эффективно? :)

Если ты ниасилил программирование движения без перерисовки всего экрана то так и скажи.

Будешь рассказывать об Invalidate тогда, когда захочешь сделать сложный параллаксовый задник или даже просто прозрачный спрайт с альфа-блендингом нарисовать :)

monobogdan1337
() автор топика
Последнее исправление: monobogdan1337 (всего исправлений: 5)
Ответ на: комментарий от monobogdan1337

Я за последние лет пять пощупал практически все вышедшие за последние 23 года GAPI. Как думаешь, я имею представление о том, как прогать графон и делать это эффективно? :)

Думаю что если ты тащишь в МК какие-то API, то ты просто альтернативно-одаренный.

Будешь рассказывать об Invalidate тогда, когда захочешь сделать сложный параллаксовый задник или даже просто прозрачный спрайт нарисовать :)

Если ты рисуешь квадрат - спрайтом, а не набором пикселей с координатами x,y,x+размер,y+размер - то ты действительно альтернативно-одаренный. Скриншоты небось в BMP сохраняешь? :))

windows10 ★★★★★
()
Последнее исправление: windows10 (всего исправлений: 1)
Ответ на: комментарий от windows10

Думаю что если ты тащишь в МК какие-то API, то ты просто альтернативно-одаренный.

Это уже похоже на жирный троллинг)

Если ты рисуешь квадрат - спрайтом, а не набором пикселей с координатами x,y,x+размер,y+размер) - то ты действительно альтернативно-одаренный. Скриншоты небось в BMP сохраняешь? :))

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

monobogdan1337
() автор топика
Последнее исправление: monobogdan1337 (всего исправлений: 1)

тетрис, аж с 264кб ОЗУ, 2-мя ядрами

Мдааа… и это только тетрис… куда катиться мир…

anc ★★★★★
()
Ответ на: комментарий от anc

Зато цветной, с 16-битным цветом! :)

Интересно было бы глянуть, что там внутри Sup (ультрадешевая эмуляторная консоль), думаю там аллвиннер какой-нить внутри с 32мб ОЗУ.

monobogdan1337
() автор топика
Последнее исправление: monobogdan1337 (всего исправлений: 1)
Ответ на: комментарий от anc

вопрос ведь не в том, что это тетрис, вопрос в платформе, под которую можно что-то запрогать. Хочется человеку резвиться, зачем мешать

Morin ★★★★★
()
Ответ на: комментарий от andreyu

На фото едва заметна первая игрушка - классический ШМАП в космосе. На оригинальном тетрисе тож был спейсинвейдер.

monobogdan1337
() автор топика
Ответ на: комментарий от Morin

ось

ОС нет, но есть своя абстракция над конкретным железом (дисплей, ввод, флэша, клоки на проц и.т.п). В отличии от еспшки, малинка не заставляет юзать фриртос и позволяет запустить второе ядро даже без щедуллера.

HAL?

Родной HAL RP2040, т.е по сути его SDK. Простой и понятный.

фреймворки?

Никакие не используются, все свое и с нуля.

Я пока что не особо делюсь инфой т.к в 11 утра выйдет подробная статья обо всем) не хочу спойлерить. Там не сказать, что есть что-то очень крутое по железу, по большей части это Pet project =)

monobogdan1337
() автор топика
Последнее исправление: monobogdan1337 (всего исправлений: 2)
Ответ на: комментарий от Morin

Дык ми не против, хоть на 100500 ядрах + 100500 ОЗУ пиши «Hello, world!», но зачем это как достижение преподносить?

anc ★★★★★
()
Ответ на: комментарий от Morin

Хочется человеку резвиться, зачем мешать

Вот с этого и начинаются «походы в магазин за доп. железом» :)

anc ★★★★★
()
Ответ на: комментарий от monobogdan1337

на еспшке тоже никто не заставляет юзать ось ;)

просто сообщество пока маленькое и под голую очень мало чего написано

а так дерзай. Простой и понятный растровый API я бы посмотрел

Morin ★★★★★
()
Ответ на: комментарий от anc

так да, чем старше мальчик, тем дороже игрушки :) вроде бородатая истина

Morin ★★★★★
()
Ответ на: комментарий от monobogdan1337

не мучай жопу, бери i2s.

на шиме сожрешь все равно кучу ресурсов и потом захочется запилить фильтр для усилка. Проходили, ну его нафиг. Скажем так, игрушка уже не для всех будет

Morin ★★★★★
()
Ответ на: комментарий от monobogdan1337

челленджи

Откуда столько непонятных слов?

anc ★★★★★
()
Ответ на: комментарий от Morin

Скорее всего i2s и возьму. Хотя ШИМ железный, по прерываниям, в целом не думаю что сильно отжирать процессорное время будет, если просто отсылать сэмплы на него.

monobogdan1337
() автор топика
Последнее исправление: monobogdan1337 (всего исправлений: 1)
Ответ на: комментарий от monobogdan1337

с шимом - разверни всю цепочку подготовки данных. увидишь где начнешь жрать цпу :)

Morin ★★★★★
()
Ответ на: комментарий от monobogdan1337

У вас какое-то особое понимание значения слова «Тетрис». Видимо как «Ксерокс» или «Джип».

andreyu ★★★★★
()
Ответ на: комментарий от monobogdan1337

Будешь рассказывать об Invalidate тогда, когда захочешь сделать сложный параллаксовый задник или даже просто прозрачный спрайт с альфа-блендингом нарисовать :)

Сдается мне, речь не про invalidate как таковом, а про dirty rect. Что за проблемы с блендингом при правильном использовании dirty rect я не понял.

andreyu ★★★★★
()

полноценная статья о его разработке

Да прям щас и выйдет, смотри:


Здравствуйте! Сегодня я хочу рассказать вам, как сделать свой программируемый дебильничек* ценой не более 15 баксов!

Берем pico и экран с алишки, макетку, шесть кнопок и провода. Паяем все в кучу.

Спасибо за прочтение, лайк, подписка.


*В девяностые эти «тетрисы» именно так называли.

thesis ★★★★★
()
Ответ на: комментарий от DM_

что мешает без велосипеда купить обычный тетрис на алиэкспрессе?

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

Zhbert ★★★★★
()
Ответ на: комментарий от windows10

на первом фото - коробка, а на втором сборник лапши

Не коробка, а скриншот модели коробки. Я тоже об этом подумал :)

Zhbert ★★★★★
()
Ответ на: комментарий от monobogdan1337

Большинство людей

Вы хотели сказать «детей»?

опэтому

Два раза промахнуться по буковкам… точно про «детей»

anc ★★★★★
()
Ответ на: комментарий от monobogdan1337

Большинство людей Brick Game знает у нас именно как «тетрис» - опэтому я так и называю :)

Тащето тетрис, как игру, у нас «изобрели», а Brick Game это уже про железо. Не путайте тёплое с фиолетовым.

anc ★★★★★
()
Ответ на: комментарий от bo4ok

вот тут ты канеш неправ

Там в тетрисе его вообще нехер что программировать, и только полный кретин при этом перетирает весь экран.

windows10 ★★★★★
()
Ответ на: комментарий от monobogdan1337

Это уже похоже на жирный троллинг)

После чтения тебя - к сожалению нет.

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

Еще и обижулька. Эх.

windows10 ★★★★★
()
Ответ на: комментарий от monobogdan1337

Прекращаем самопроизвольно прекращать оффтопик в Talks :)

Dimez ★★★★★
()
Ответ на: комментарий от windows10

да что ты к тетрису прицепился, в 2k20 кодить падающие квадратики ни пользы, ни интереса нет. Возможность полностью рефрешить дисплей адекватное количество раз в секунду позволяет делать гораздо более интересную графику, не страдая пердолингом с подгонкой визуала игры под набор команд экрана.

bo4ok
()
Ответ на: комментарий от monobogdan1337

Бодя, а хочешь я за 15 минут нарисую на Ардуйне движение сверху вниз без обновления экрана ?))

windows10 ★★★★★
()

Завтра выйдет полноценная статья о его разработке

А сам уже опубликовался на всевозможных площадках в инете. ) Статья на хабре, с фотками, видео, схемами, кодом… :
Сам себе игровая консоль: как я сделал свой «тетрис» с нуля. Что происходит, когда программист встречается с железом?

krasnh ★★★★
()
Ответ на: комментарий от krasnh

Меня тут за кибербуллили, поэтому не стал кидать линк, чтобы не провоцировать срач.

Да и людям пока что не особо интересен девайс на макетке - они хотят увидеть готовое устройство в собственном корпусе!

monobogdan1337
() автор топика
Ответ на: комментарий от monobogdan1337

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

peregrine ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)