Search
Write a publication
Pull to refresh

Comments 24

Впечатляет. Будете со временем усложнять, добавляя фон, затем два фона, перемещающихся с разными скоростями, различные звуки, пока по сложности не сравнится с «Пониматом» Коковина?
К сожалению, нет )) Моих сил и интереса ребенка (что важнее) не хватило даже на то чтобы реализовать пересечение с хвостом, мы пошли дальше. Но в теории это всё тоже реально сделать.

Ещё была мысль сделать в двух цветах (змей каноничного зелёного, а яблоко красного цвета), но почта где-то по пути потеряла RGB-панель…
Если следовать zanuda mode, в «Понимате» ПЗУ хранят спрайты, фоны, музыку и сэмплы, но в логике игры не участвуют, а здесь — участвуют. Но зато всё документировано, минималистично и повторяемо.
Отличная работа!
Люблю олдскул без ардуин.
Кстати, когда я учился, подобный автомат на ROM и регистрах называли «секвенсер», а сейчас нигде почему то такой термин не вижу.
Жду продолжения…
А я встречал название «микропрограммный автомат».
про это как раз есть мини-спойлер ))

Милота!
Набросай только общие идеи по переводу 4 * 28C16 в более современные ИМС (вплоть до 4 Мб "параллельных флешек", не firmware HUB, с устаревших материнок). Ибо у меня в загашнике есть только 2 (две) штуки 27C16, а эти флэшки нынче найдутся у любого желающего. ИМХО.

Вообще, я наоборот хотел взять КР573РФ5, но их не нашлось в нужном количестве, да ещё и программатора со стирателем.

Если делать на современных имс, то это скорее будет что-то типа iCEstick. А 28с16 в виде б/у или выпаяных продают китайцы. Если с ними не охота связываться, то в разных магазинах всё ещё встречаются 28c64b, можно взять их если забить на лишние разряды.

Вот прямо ждал что тут будет очередная статья про ардуино! Ан нет. Тут настоящий хардкор! У меня только один вопрос: сколько лет вашему сыну?

8 лет. Для «ноликов и единичек» этого вполне достаточно, требуется только умение складывать и вычитать (он поучаствовал в составлении картинки с сумматорами и писал таблицу с кнопками)

Мда… Помню, курсовой по электронике у меня и ещё одного товарища свелся как раз к тому, что вместо разработки набора логики мы использовали одну микросхему-стабилизатор питания и одну eeprom. Но сами дошли что так можно, честно-честно.

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

Я конечно не буду утверждать, что в 8 это невозможно понять, но все же это больше похоже на материал для очень продвинутого 14-16-летнего
Вот эта первая часть достаточно хорошо зашла, правда не за одно занятие, в спокойном темпе на это ушло недели 3. А вот вторую часть я по большей части делал сам, на картинках объяснял, но нагружать даже не старался…
А напишите пожалуйста по каким ресурсам изучаете?)) думаю многим было бы полезно узнать (включая меня). спасибо
Тут много рекомендуют книгу Харрис и Харрис. Но для младшего школьного возраста это будет слишком тяжелый материал, я использую её как примерный план и какие-то задачки для иллюстраций (пропуская большие её части, физику транзисторов, весь Verilog/VHDL и ещё много чего).
Более развёрнутый ответ надеюсь напишу во второй части.
Во второй части написал основные материалы. Дополнительно к этому скажу, что в детстве сам изучал по такой книжке: МРБ 1097: Основы цифровой техники. Но она на данный момент уже заметно устарела.

Если изучаете для себя, то книжка Харрисов — самое то. Для дальнейшего погружения в тему рекомендую Digital Design. Principles and Practices 4th ed. John F. Wakerly.

А если с ребенком, то нужно примерно представлять какие вещи будут легко понятны, а какие стоит пропустить. Тут к сожалению хороших книг не посоветую, опираюсь на свой опыт, что мне самому было понятно в том возрасте, а что уже было тяжело/неинтересно.
Воспользуемся другим трюком — сделаем наоборот: заменим EEPROM на нашу логическую схему и засунем её в программатор.

Гениально! У меня-то первая мысль — сгенерить таблицу на каком-нибудь питоне, но скопировать живую логику я бы не догадался.


Жду второй части. Намного интересней наблюдать, как змейку реализуют с учётом минимизации ресурсов (читай: корпусов), чем на сотую реализацию на FPGA.

я думал я знаю что такое конечные автоматы. оказалось что нет)
Интересно, а _другую_ логику этого автомата вы не рассматривали?
В ней нужно иметь «длину тела», которую вначале поставить в одну ячейку массива. Это и будет голова.
И направление, в котором голова поедет в следующем ходу.
А затем все ненулевые ячейки просто уменьшаются с каждым ходом на 1, и светятся только те точки, где не ноль.
В итоге у змеи нет головы и хвоста, а есть только «сегменты», у каждого их которых своё время жизни. И от величины начального значения зависит, сколько тактов он проживёт, а соответственно и видимая длина хвоста. Удлинять просто — вписывай в новые позиции бОльшее число. Обработка коллизий тоже проста — если в новой позиции не ноль, то либо конкретное значение яблока, либо свой же сегмент.

Это, конечно, в битах не вывести, нужна работа с другими элементами. НО как подсказывает мой опыт создания автоматов на логике, тут есть потенциал уменьшить число корпусов.
Таким способом как раз работают многие реализации на ФПГА. Если делать на 1533-ей серии, то на это понадобится как минимум 32 корпуса только на хранение клеток, про коммутацию этого всего я даже боюсь думать…

Если вам удастся в таком варианте уменьшить количество корпусов (без использования фпга), то будет очень интересно посмотреть на такой вариант. Наверное, можно использовать RAM, но обвязка кажется что будет сложнее.
Sign up to leave a comment.

Articles