Pull to refresh

Comments 63

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

Но в какой-то момент вдохновение покинуло меня в этом вопросе. Какие-то наработки остались, но всё либо выбросил, либо продал.

Спасибо за теплые слова! В смысле вы хотели поменять железо и запустить на нем эмулятор в корпусе новодела?

Идея была ваш эмулятор перенести в 2040, и дальше уже грузить образы в реальном железе.
Я купил обычный дешёвый тетрис. Сделал ему реверс клавиатуры (ооочень мудрёно сделана). Скрины с видео:

Схема распайки клавиатуры
Схема распайки клавиатуры

Сделал плату для коннекта дисплея (которая вполне себе работала).

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

Классно! Понимаю, тоже копятся старые недоделанные проекты, на которые иссяк запал(

У меня много сил отняло бодание к RP 2040, я хотел сделать многопоточку. Чтобы один поток отвечал за эмуляцию и логику, а второй за отображение и работу с кнопками. Играл и проиграл

Так обычно и бывает – хочется сделать красиво и основательно, а в итоге устаешь от задачи или появляется новая более безумная идея)

Там же два ядра - часть задач на нулевое, часть задач на первое и всё заработает

У Сергея гемор с синхронизацией возник думаю. С другой стороны, я думаю острой необходимости параллелить такой проект нет, рп2040 даже на гораздо меньшем клоке, чем 150мгц, должен фуллспид эмулировать Тетрис :)

Спасибо, я умею читать документацию. И проблема не в синхронизации, как говорит @bodyawm . Просто либо мне попался кривой sdk, либо одно из двух. Оно не работает.

То есть, берешь пример, всё ок. Чуток обмазываешь перламутровых пуговиц, оно работает криво. В линуксе на многопоточке тот же пример ок. Я несколько месяцев бился, и понял что это не моё

Эмулятор Game&Watch на платформе "Мурмулятор" (RP2040)
Эмулятор Game&Watch на платформе "Мурмулятор" (RP2040)
RP2350-Touch-LCD-2.8 с эмулятором Game&Watch
RP2350-Touch-LCD-2.8 с эмулятором Game&Watch

Мы тут пол года как Game&Watch вполне себе успешно "Мурмулируем" на RP2040 и RP2350 https://github.com/MadedCat/murmulator_game_n_watch ;)

За пару дней до того как увидел рп2040 в супе тоже захотел выкинуть кристалл из бракованной консоли и засунуть туда пико :)

Ну, учитывая что у меня проект немного другого формата, по типу ардубоя, думаю все равно есть смысл попробовать :)

Это очень крутой проект. У меня была задача сохранить lcd от тетриса

UFO landed and left these words here

Это рэпчик!

Не ожидал, что и в тетрисе 6502. Особенно забавно, что я тоже пишу игры под 6502 для денди) 6502 повсюду.

Это ведь ещё и эпл 2 и коммодор 64, жаль только у всех слишком разная обязка и весь софт пропитан хаками, портировать проблематично.

О да, 6502 был очень популярен и до сих пор встречается в подобных игрушках. Nintendo, кстати, кроме Famicom, еще использовала 6502 под своим брендом в шагомере Pocket Pikachu 1998 года и в некоторых Mini classics в нулевых.

Они там что, название повторно использовали, получается? Сначала выпустили Mini Classics, а потом, когда об этой серии уже почти забыли - совершенно другую железку, и назвали её Classic Mini.

Да, и это ужасно мешает при поиске на барахолках(

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

И ещё компактная плата Nippel SuperGames для встраивания в монитор «Электроника 32ВТЦ-202» и получения тем самым портативного игрового автомата.

Я тоже писал тетрис для ZX Specy на ассемблере, и эта игра через друзей ушла до Эстонии, и спустя 30 лет, я нашел её (можно поиграть даже в браузере-эмуляторе): https://zxart.ee/rus/avtory/n/ncc-soft/

Теперь осталось это в fpga повторить, и сделать пинсовместимым) хотя по воспоминания из детства, чаще умирали 'резинки', которыми подключался дисплей.

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

Резинки умирали чаще, чем батарейки. FPGA хоть не окисляется от пальцев

Если программа будет ещё и отдавать оттуда кнопки - то можно будет сделать дум на тетрисе :-)

Это уже совсем неспортивно)

Ох как же я понимаю эту боль с поиском документации на старые чипы,когда у тебя есть только маркировка, пара мутных фотографий и бэкапы сайта производителя из archive.org. И ты сидишь как детектив и по крупицам собираешь информацию, пытаясь понять, за что отвечает каждый регистр

Да уж, одна из сложнейших проблем после получения прошивки.

Ага, подтвердилась гипотеза, что там применяли 6502-совместимую платформу до конца девяностых - начала нулевых, а на полностью отличающуюся 4-битную платформу от Holtek перешли лишь потом. Именно после этого сменили мелодию и сделали, чтобы она включалась не после начала игры, а прямо на заставке, и ещё некоторые вещи поменяли. Сделать новую прошивку с нуля оказалось проще, чем переносить имеющуюся на совершенно иную систему команд.

Тетрисы на Holtek-ах начали выпускать не позднее 93-94 гг., а эти Apollo наверно 94-95, т.е. обе платформы примерно одного времени а не шли друг за другом. Вообще, использовалось много семейств микроконтроллеров, я пока натыкался на следующие: Epson E0C62, Sanyo LC86, Holtek 4-bit, Sunplus на 6502, EMC EM73, неопознанный Toshiba, неопознанные UMC, Samsung KS56. Из них, наиболее часто мне попадались Holtek и EMC, трудно даже сказать, какой из них был более распространен. А микроконтроллеры с ядром 6502 применяются думаю и по сей день на многих, а может и на большинстве новоделах

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

А есть техническая возможность узнать какой контроллер? Может на новодельном можно повернуть тот финт ушами с загрузкой своего кода?

Одними из первых были E-32 и E-88, появились они не позднее 1994. Apollo, который разговаривает, появился позже и производил двоякое впечатление - разговаривает он не очень хорошо. Позднее появились дикие варианты типа 999игр и 9999игр (никто не знает чем игры отличаются и до нужной фиг долистаешь), и были еще модели "цветным" экраном. Примерно в 1998 я увидел компактный вариант, который был раза в 2 меньше классического варианта с полукруглой выемкой. Реверс "капли" это конечно круто. В детстве мы смотрели на эти "капли" в часах, калькуляторах и игрушках и расстраивались что даже названия микросхемы чтобы поискать в литературе - нет.

"Безумству храбрых пою я песню!"
Примите плюс в карму. Уж не знаю, почему я его зажмотил за предыдущие публикации. Извините.

Спасибо)

Круто, поставил плюс!

Видос наверное уже и смысла нет делать, если раньше процент моей работы был хотя бы 30% с статьей, где я описываю систему команд холтеков, то теперь она максимум 10 и я вложу слишком мало своего импакта в него кроме пересказа своей статьи и переозвучки фактов из вашей. Так что видос вам необходимо сделать самому :)

Так сделать хорошее видео – это 100% работы) Сам я точно не осилю, максимум на что способен, это короткие ролики-демки. То, что кроме Холтеков использовалось много других микроконтроллеров не отменяет же факта, что одни из самых "классических" E-23 или E-88 работали именно на них.

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

у меня есть некоторые наработки для очень лампового ролика включая ирл подсъемы. Если смогу справится с самим собой, может что-то и смогу родить

Вперёд! Иногда я подкрепляю это цитатой из "Короля Лира", хотя там и совсем про другое:
"Дуй, Ветер! Дуй, пока не лопнут щёки!"

«Здесь можно увидеть как 7 цифровых линий приходящих слева сверху управляют напряжением на аудио-выводе в центре»

Это ЦАП R-2R такой?

Если не вообще COVOX...

Среднестатистический самодельный COVOX как раз на R-2R чаще всего. Оригинальный - на микросхеме ЦАП, требующей внешнего питания.

Вот этот способ хорошо подошёл бы для получения резисторного ЦАПа в один приём. Но именно для этой цели почему-то не применили.

https://rw6ase.narod.ru/index1/radiopriem/rp_pp_suw/mikro_rp.html

там же видно, что не r-2r, а binary-weighted

Посмотрел внимательно на фото) похоже я ошибся и там токовый выход, а схема ЦАП на двоично-взвешенных резисторах.

Да похоже на простейший R-2R, реализованный прямо на кристалле. Семь линий и семь бит разрядности

К этому Брик Гейму еще бы добавить раскладушку Apollo в которой был платформер Croco Mario.

Интересно почему в нулевых адресах располагается область Display LCD RAM ? У MOS 6502 нулевая страница адресного пространства отводится под указатели, а первая - под стек. У SPL02 всё подругому ?

У SPL02/03 и на одну страницу ОЗУ не наберется, поэтому все помещается на нулевой.

Да уж, простор для полета фантазии. :)

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

Ура друзья ! Наконец поставлена точка в философском споре что же там в конце игры ! Там все-таки есть мультик !!!

p.s. это я смеюсь если что))), эти споры ходили среди детей про "Ну погоди"

p.p.s специально зарегистрировался чтобы оставить этот комментарий )))

Читал статью как детектив! Взахлёб!

Отличительной особенностью этого микроконтроллера является наличие 7-битного ЦАП через который выводится звук с двух тональных каналов, одного канала шума и речевого канала, который непосредственно управляет ЦАПом через регистр Speech

Т.е. китайский тетрис, стоивший 40 деноминированных рублей (полтора доллара), в плане звуковых возможностей обходит спикер IBM PC? Во дела. Спикер ПК, ЕМНИП, максимум может работать как 1-бит ЦАП, при этом отжирая неприлично много ресурсов. Поэтому обычно максимум, чем ограничивались разработчики — это одноголосая пищалка...

Всегда было интересно, а почему практически любая электроника, которая умеет выдавать звуки, при пониженном питании будет выдавать глитчи, звук замедлится и пр.? На этом же целая демосцена основана — т.н. citcuit bending проекты. Неужто гвоздями прибито на скорость ЦП?

"Всегда было интересно, а почему практически любая электроника, которая умеет выдавать звуки, при пониженном питании будет выдавать глитчи, звук замедлится и пр.? "
Если тактирование идет от не от кварцевого резонатора, а от RC-генератора, то все частоты будут зависеть от него, а у таких генераторов частота зависит от напряжения питания.

Офигеть, по сути вы из «кирпича» сделали девкит с удалённым ПЗУ на Pico

Ну так кто теперь мешает "запустить DOOM на брик-гейме"? Вот это будет реальное достижение, а не все эти тесты на беременность. Даже несмотря на то, что Doom фактически будет играться на другом процессоре, всё равно это круто.

Никто, вопрос желания и целеполагания. Мне интересно исследовать старые железки и с этой точки зрения запуск Doom на Pico ничего нового не добавит, ведь код на стороне Apollo можно использовать тот же самый, который я написал для Bad Apple, только кнопки перепаять на Pico. При этом, использование Pico только в качестве внешнего ПЗУ честнее, что-ли.

Sign up to leave a comment.

Articles