Установка денди в авто
Dendy в машине
Рад снова и снова видеть вас в бортовом журнале моего волчары. Записи этой и ближайших каких-либо значимых обновлений запланировано не было, но так уж получилось!
Всё было как в тумане. Гуляя, зашёл в магазин и вышел оттуда уже вот с такой коробкой.
Чем симба’с отличается от моего старого и далёкого денди, я так и не понял, так что по привычке зову сие чудо 90-ых — Денди )
В воздухе витала мысль что эта приставка должна занять своё место в бардачке Волчары. В прочем никто и не сомневался )
Процесс для установки прост до безобразия. Питание от инвертора в багажнике, сам сетевой шнур был удлинён и проведен из багажника в бардачок по потолку и правой стойке. От приставки идут два тюльпана, видео пошло в тюльпан магнитолы AUX Video, а аудио в AUX Audio L. Пока играет только левый канал, но купить разветвитель не составит труда, чем я и займусь как будет время.
В общем описывать мой щенячий восторг от старой доброй контры, танчиков и прочих игр я не буду ) Всё и так понятно ) Снял немного видео, которое даже звучит супер ностальгично )
Эх… Всего 8 бит а столько воспоминаний… Описывать их нет смысла. У каждого они свои, и самые тёплые…
ПС: нормальные люди андроиды ставят наверное ) Кто то скажет что можно было и иксбокс засунуть или пс2 например. Но нет ) Мой выбор — мои личные воспоминания )
Самодельный картридж для 8 битной приставки типа денди
Помню в детстве всегда было интересно, как же эти картриджи работают, и можно ли самому записывать в них игры? А не так давно на ютубе увидел видео где рассказывалось о самодельном картридже. Меня это заинтересовало, почитал форумы, посмотрел схемы, вроде все понятно и платы не сложные, но не было чем программировать параллельные микросхемы памяти.
Через некоторое время я собрал программатор EzoFlash, который подключался к LPT порту и мог много чего программировать, это клон Willem-а и работает с его софтом. Но так и не успев ни чего запрограммировать и протестировать подвернулся по дешёвке сам Willem. Так эти прогеры скучали пока я не насобирал старых памятушек для проб и сборки картриджа.
И вот настал момент записать память 27С040, это 512кбайт память. И тут я выясняю, что программатор Willem, купленный за недорого, малость подпаленный :(. Благо при сборке EzoFlash я разобрался с тестированием данного программатора и быстро нашел выгоревший смд транзистор на плате, он коммутировал питание микросхемы памяти, после его замены все стало записывать нормально и можно было приступать к созданию платы картриджа.
Вот тут было немного сложно, дело в том, что игры для денди делятся на категории, каждая категория игр работает на картридже со своей схемой, а схема в свою очередь зависит от используемого маппера памяти. Маппер, это грубо говоря микросхема, которая делит память картриджа на страницы по 16кбайт, поскольку 8 ми битный процессор больше не в состоянии переварить в связи с нехваткой адресного пространства. Вот тут то маппер и помогает с расширением адресного пространства. Мапперов целое множество, некоторые специализированные и стоят дорого, но благо есть китайские клоны, некоторые могут заменить микросхемы обычной логики.
В моем случае я создавал картридж для игры Battletoads & Double Dragon, она в качестве маппера использует логику HC161, это бинарный счетчик. Игре необходимо 256кбайт памяти, но если мы берем ПЗУ на 512кбайт памяти и просто перемычкой переключаем старший бит адреса в 0 или 1, то получаем возможность выбрать с какой половиной памяти работать. Таким образом можно в одну ПЗУ записать 2 игры и выбирать в какую хотим играть. Также выбор игры можно сделать по нажатию на ресет, но эта опция требует одну дополнительную микросхему и не всегда корректно отрабатывает, на разных приставках может работать по разному.
Схему брал ТУТ, HC02 выкинул из схемы, и поставил перемычку на адрес А18, печатку перерисовывал сам, брал ТУТ.
Картридж заработал практически сразу, ну как бы одна игра сразу заработала, а вторая не заработала, т.к. я напутал с перемычкой адреса А18 и она не включалась. Для подстраховки напаял панельки, чтоб микрухи перекидывать, в идеале паять микруху, а то с панелькой в притирочку влазит и сложно припаять к двум слоям, нужно паять на расстояние от платы.
Денди у меня 2018 года выпуска, видео показывает плохо, вертикальные линии ломанные, и цвета перенасыщены, видимо нужно дорабатывать. Лучше искать старые консоли, их проще дорабатывать.
Эпоха Dendy: как появились консоли в России
В качестве легкого, приятного, пятничного чтива…
поностальгируем…
Населению России хорошо известен улыбчивый слонёнок Денди, но вот про развитие консольного рынка в России знают не все. Что ж, давайте вспомним о консоли Dendy в пост-СССР и все что с ней связанно.
Консоли в СССР
Игровые приставки на просторах СССР были, но они повально копировали технологии, подсмотренные в начинке консолей первой половины 70-х и представляли из себя различные вариации Pong-консолей. Как и в оригинальном Pong, игрок управлял геометрическими фигурами, и отбивал летающий по экрану белый квадрат.
Советские консоли были доступны лишь избранным и считались дефицитным товаром. Так, например, «Видеоспорт-3» стоил от 96 до 115 рублей. В середине 80-х это была зарплата молодого специалиста. На эти деньги можно было купить складной велосипед «Минск» или фотоаппарат «Зенит-Е» в самой дорогой комплектации. Ещё консоль можно было выиграть в лотерее ДОСААФ (стоимость билета — 30 копеек).
В разы доступнее были портативные игры из серии «Электроника», стоившие 25 рублей. Технологию подчистую скопировали с Nintendo Game & Watch и DigiCase от Bandai. Они появились в середине 80-х и были популярны даже после развала Советского Союза (разные заводы производили их до 1995 года). Особенно популярными были игры: «Тайны Океана», «Ну погоди!», «Веселый Повар» и «Космический мост». Всего в серии «Электроника» выпущено около 50 игр.
В начале 90-х предприимчивые «челноки» привезли из Польши несколько новых консолей. Стоили они дорого, а картриджи найти было проблематично. Особенно это касалось тайваньского клона NES, который распространялся в Польше под названием Pegasus.
Лучше ситуация обстояла с Rambo TV Game — клоном Atari 2600. Консоль стоила дешевле Pegasus, к тому же в неё был встроен базовый набор игр. Правда низкая цена влекла за собой один существенный недостаток —недолговечность джойстиков. Они могли сломаться как через неделю после покупки, так и через месяц. К Rambo подходил геймпад от Sega Mega Drive, но в начале 90-х консоль от Sega была у единиц, поэтому устройство отправлялось либо на полку, либо в помойку.
Лучше ситуация обстояла с Rambo TV Game — клоном Atari 2600. Консоль стоила дешевле Pegasus, к тому же в неё был встроен базовый набор игр. Правда низкая цена влекла за собой один существенный недостаток —недолговечность джойстиков. Они могли сломаться как через неделю после покупки, так и через месяц. К Rambo подходил геймпад от Sega Mega Drive, но в начале 90-х консоль от Sega была у единиц, поэтому устройство отправлялось либо на полку, либо в помойку.
Рождение Dendy
Российская IT-компания Steepler была основана в 1991 году выпускниками МГУ — Андреем Чеглаковым (бывший генеральный директор Marussia, бывший вице-президент Ростелекома, совладелец «Универсальной финансовой системы» и меценат), Максимом Селивановым (генеральный директор обанкротившейся ЗАО «Союзинформ», ныне крупный фермер) и Владиславом Улендеевым (совладелец холдинга eHouse). Позже к ним присоединились Андрей Андреев (сейчас совладелец завода «Тензор») и Рустем Ахияров (президент холдинга eHouse).
Уже к концу 1992 года Steepler превратилась в преуспевающую и богатую компанию. Став первым дистрибьютором Hewlett-Packard в России, Steepler занималась поставками и распространением лазерных принтеров. Другая деятельность компании связана с локализацией зарубежного программного обеспечения (например, Windows 3.x) и системной интеграцией. ПО у Steepler закупали «Сбербанк», банк «Менатеп», «Инкомбанк» и Государственная дума Российской Федерации.
Бренд Dendy придумал и разработал Виктор Савюк (недавно возглавлял холдинг «Акадо», сейчас акционер «Новых облачных технологий»). Савюк пришел в Steepler и заинтересовал своей идеей Максима Селиванова и Владислава Улендеева. Вскоре им удалось открыть маленький офис в Тайване, и наладить бизнес с компанией TXC, производившей клоны консоли Famicom под лейблом Micro Genius. TXC существует и сегодня, но теперь она занимается разработкой микрочипов.
В 1992 году Nintendo Entertainment System (или Famicom в Японии) уже считалась устаревшей консолью, вытесненной Super Nintendo и Sega Mega Drive. Ушлые китайцы вовсю штамповали нелегальные клоны как старых, так и новых консолей, наладив бизнес со странами Восточной Европы, Южной Африки и Юго-Восточной Азии. В молодой Российской Федерации о таких приставках слышали единицы, чем и воспользовались успешные предприниматели, заказав у TXC консоль на основе «фамиклона» Micro Genius.
В Steepler начали разрабатывать рекламную кампанию бренда. Слонёнка Денди придумал художник-мультипликатор Иван Максимов (ныне преподаватель в школе-студии «Шар»), рекламные тексты помогал составлять специалист по НЛП (нейролингвистическое программирование) Алексей Ситников, джингл сочинила и исполнила группа «Несчастный случай», а известный блоггер Рустем Адагамов занимался дизайном коробок.
Завершающим этапом рекламной кампании стал вирусный ролик, который активно крутили на российском телевидении. В ролике представили слоненка Денди и песню «Денди-Денди, мы все любим Денди! Денди! Играют все!».
Вирусность рекламы заключалась в том, что в ролике не рассказывали о продукции. Показали только веселого слонёнка, телевизор, таинственное устройство и цепляющую мелодию. В начале 90-х хватало странной, но обсуждаемой вирусной рекламы. Взять хотя бы аскетичный ролик компании «Сэлдом», продававшей бытовую технику. Сработало это и с Dendy: за месяц реклама прочно врезалась в память зрителей, поползли слухи о «новой и доступной игровой системе».
Грандиозный успех
За две недели до начала 1993 года Steepler запустила продажи Dendy в своих фирменных магазинах. В Steepler прекрасно знали, что продают контрафактную копию консоли от Nintendo, поэтому культивировали вокруг бренда образ лицензионной продукции высшего качества.
Предугадывая скорое появление конкурентов, Steepler также активно рекламировала надежность своей электроники. В первую очередь это касается мощной гарантийной и информационной поддержки. Ежеквартально выходили каталоги с играми, появлялись дилерские сети по всей России, где продавали консоли и проводили их гарантийное обслуживание.
К концу 1993 года бренд обрёл бешеную популярность в России, приставки раскупали в официальных магазинах как горячие пирожки. Steepler богатела с каждым днем, и к 1994 году денежный оборот компании вырос до 65 миллионов долларов. В день продавали от двух до пяти тысяч консолей по всей России. Число желающих купить приставку выросло настолько, что компания столкнулась с превышением спроса над предложением и временно приостановила рекламную кампанию.
Модельный ряд Dendy
Все Dendy — это тайваньский Micro Genius с фирменными шильдиками Steepler. Первая версия консоли называлась Dendy Classic. В комплект с ней входило два геймпада, инструкция и картридж с «многоигровкой».
Чуть позже на прилавках фирменных магазинов появилась удешевлённая версия. Маркетологи Steepler описывали Dendy Junior как упрощённую версию Classic для детей младшего возраста.
Позже вышла другая бюджетная модель — Dendy Junior II. Её геймпады были намертво встроены в консоль. У одного из них отсутствовали кнопки Start и Select.
Значительно позже вышли Dendy Classic II (аналог польской Pegasus), Dendy Junior IIP (с пистолетом) и Dendy IVP (чёрный вариант Dendy Junior IIP с репликой «Беретты»).
Ещё планировали выпустить Dendy Pro. Виктор Савюк рассказал о ней в газете «Коммерсант», как о новаторской 8-битной приставке. Выход консоли запланировали на осень 1993 года, но в продажу она так и не поступила. Основой для Dendy Pro была слегка переделанная Micro Genius IQ-1000. От других «фамиклонов» она отличалась одним беспроводным геймпадом и маленькой антенной. В Steepler посчитали, что игра не стоит свеч — консоль была слишком дорогой на фоне других моделей. В магазинах охотно брали Dendy Junior за 27 тысяч рублей, тогда как предполагаемая цена Dendy Pro достигала 70.
Картриджи были разные. Первые версии продавались в коробочках с надписью TV.GAME CARTRIDGE и с заглушкой для защиты от пыли. Потом появились разноцветные и более компактные.
Порой удивляли и даже смешили диковатые наклейки. Тайваньские пираты любыми способами хотели уйти от обвинений в нарушении чьих-то авторских прав.
AV mod для микросхемной Денди
На просторах одного из заброшенных объектов нашей необъятной Родины, я нашёл в убитом состоянии приставку Zhiliton 838. Это прибалтийский клон Famicom, более известного у нас как Денди.
Клон основан на раздельных микросхемах UA6538 и UA6527P. К сожалению, буковка P в конце маркировки последней микросхемы говорит нам о том, что разгона до NTSC не видать нам как своих ушей. Зато UA6538 даст нам великолепный звук, который и не снился современным новоделам.
Размер платы, странно припаяные разъёмы джойстиков, посадочные места под кнопку reset и переключатель питания говорят нам о том, что печатная плата разводилась под оригинальный корпус фамикома. Забегая вперёд, скажу, что туда она замечательно подходит.
Жилитоновский модулятор представлял собой довольно жалкое зрелище, и сдохшая 7805 не позволяла приставке включиться.
Замена стабилизатора помогла и приставка заработала. Но вертикальные полосы в кадре, срыв синхронизации на телевизоре на ярких сценах и жужжание растра в звуке.
Но теперь-то совсем другое дело.
В ход пошло искусство гугл-фу, на просторах рунета (вроде бы на форумах gbx.ru) была найдена простая схемка на двух транзисторах.
Поэтому гугл-фу был включён с ещё бОльшей силой, а заодно включён внутренний перфекционизм и запущен P-CAD.
Чуть погодя, на форумах nesdev.com была найдена следующая схемка
К счастью, она не сильно отличается от той, под которую я уже сделал плату. Резистор с конденсаторами на выходе был поменян местами, номиналы резисторов в выходном каскаде были заменены с 220 на 68 и со 110 на 82 ом. А диод (я взял 1N4148) был просто припаян с обратной стороны платы между базой и эмиттером транзистора.
Для избавления от полос были проведены следующие манипуляции:
2. На PPU же между 22-ю ногой (не используемый reset) и землёй (20-я нога) припаян конденсатор на 100 микрофарад.
Само собой были запущены танчики. Куда же мы без любимого Batte City.
TECHNO BROTHER
834 поста 7.7K подписчиков
Правила сообщества
1-Мы А-политическое сообщество. 2-Запрещено оскорбление: Администрации Пикабу, сообщества, участников сообщества а также родных, близких выше указанных.
За прямые руки и милый сердцу Дендик неистово плюсую!
А вот для денди-клонов на дискретных микросхемах понятие «разгона» (в отличие от капельных клонов) отсутствует как класс и буква P там совершенно не причем. Чтобы сделать из такого дендика полноценный NTSC клон, надо заменить проц UA6527P на UA6527, а видео-проц UA6538 на UA6528, плюсом заменить кварцевый резонатор 26.601712 МГц на 21.47727 МГц. И будет нтэс-ёвое счастье.)
И да, звук нам дает не UA6538, а проц UA6527P, в котором и находится звуковой генератор. Правда, что да, то да, звук у 6527P очень сочный и с хорошими ударниками. Гораздо лучше любых капельных новоделов.
Оп, карик от кластера ))
Каждому свое 🙂 У меня обычная дендя-многоигровка.
Сам же собираю картриджи по проекту Кластера. Хорошая штука, но всегда в дефиците если делать под заказ.
Здравствуйте! Не поделитесь схемкой делителя звука?
На фото многоигровочка от Кластера? У меня такая почему то на похожей плате не работает.
в танках уровень через construction создал? ) не помню такого уровня
Не знал, что система цветности NTSC в Dendy это разгон. И почему NTSC так желателен в приставке?! Хоть и NTSC обладает большей цветовой разрешающей способностью, но вряд ли
это будет заметно(особенно в Dendy).
Лучшие проекты (для) 8 битных приставок своими руками
Возможно вы думали, что мир 8 и 16 битных приставок давно умер. Ведь первые консоли такого типа были выпущены более 30 лет назад.
Но количество материала по теме в интернете говорит о том, что он не только не умер, но даже наоборот развивается. Сейчас вы можете поиграть в оригинальные танчики или контру с кем то на пару, онлайн. Да да, в те самые танки, а не в эти. И вот про эту контру. Или можете купить беспроводной геймпад, который будет работать с вашей старенькой оригинальной сегой.
Проекты вошедшие в видео:
✅ Аутентичная 8 битная консоль собранная своими руками.
✅ Самодельный джойстик для денди с любимым 555 таймером. Можете пройти пусть начиная с разводки платы и лута и заканчивая проектированием и распечаткой корпуса.
✅ Разработка картриджа с нуля до загрузки туда сотен игр для приставки известной в России и СНГ как денди. На котором можно даже сохранять прогресс игр.
✅ Самодельная портативная 8 приставка клон фамиком с экраном.
✅ Приставка размером с флешку с 1000 играми на борту и беспроводными джойстиками.
✅ Еще есть более универсальный вариант называется ретро пай, Это эмулятор 8 и 16 битной консолей, устанавливаемый на расбери пай или компьютер. Работает с обычными джойстиками для ПК.
ЗЫ Авторы могут по только им известным причинам закрыть доступ к исходникам своих проектов или схемам. Пожалуйста связывайтесь с ними по всем вопросам напрямую.
Atari 2600: легендарная приставка своими руками
Atari 2600 или ее клонов у меня никогда не было, да и, в общем-то, не интересовался ею в принципе. Идея собрать свой клон с нуля родилась спонтанно после просмотра видео на Ютубе. Порадовала большая фанбаза западного сообщества, где она долгое время было массовой домашней системой, ведь официально приставка выпускалась целых 14 лет! Еще одной монетой в копилку этого проекта стала относительная простота схемы, ну и спортивный интерес. Все фотографии сборки были сделаны из видео, поэтому сразу извиняюсь за качество. Много картинок!
Изучение и модификация схемы
При первом знакомстве с несколькими версиями схем (а именно оригинальной VCS и Jr.), стало понятно, что вторая версия пошла по пути упрощения и исправления некоторых участков, в частности убрали излишние фильтры питания, изменили номиналы некоторых резисторов, конденсаторов и чуть изменили схему питания.
Схема оригинальной версии Atari 2600 (взято с репозитория atariage.com )
Версия Atari 2600 Jr. (взято с репозитория atariage.com )
Прикидываем что нам нужно, что не нужно и рисуем свою схему будущей игрушки.
Создание самодельных аксессуаров для Dendy
Сначала я и не думал писать статью на эту тему, но похоже, что это уже часть целого цикла статей на Денди-тематику. И да, на этот раз речь в первую очередь именно про отечественную Денди, а не про оригинальные консоли — Famicom или NES. Просто я делал устройство в подарок одному человеку, который снимает очень интересные видеоролики про Денди, и ориентировался на совместимость именно с этим клоном.
Порты ввода-вывода
Прежде всего стоит рассказать, как же работают с джойстиками игровыми контроллерами Famicom, NES и Dendy, и чем же они отличаются в этом плане.
С точки зрения игр порты ввода-вывода представляют из себя два регистра с адресами $4016 и $4017, которые ассоциированы соответственно с двумя портами, куда всё и подключается. Но на стандартных контроллерах для чтения данных используется только один провод — D0, данные с которого соответственно доступны через младший (нулевой) бит в каждом из регистров: $4016.0 и $4017.0. Аналогично используется один провод на запись, его обычно называют STROBE (или LATCH), который сбрасывает счётчик внутри геймпада, и который доступен через запись в $4016.0 (да, для обоих контроллеров он общий).
Проще говоря, чтобы получить состояние кнопок на первом контроллере надо сначала записать 1 в $4016.0, сразу же записать туда же 0, сбросив таким образом счётчик, а потом прочитать $4016 и $4017 восемь раз (для каждой из кнопок), получая данные о кнопках из младшего бита. Но для чего же остальные биты в этих регистрах, куда идут эти линии? Рассмотрим порт контроллера у NES:
Да, на него на самом деле идут D3 и D4! Именно они и доступны через $4016.3, $4016.4 у первого порта и $4017.3, $4017.4 у второго, и именно они используются для нестандартных контроллеров.
Что же касается его японского собрата — Famicom, там нет этих портов, да и сами игровые контроллеры не отсоединяются от консоли, но у него есть порт расширения, который представляет из себя разъём DB-15.
Знакомо выглядит, правда? Да, когда китайцы проектировали нашу Денди (я сомневаюсь, что её проектировали у нас), и им нужно было сделать отсоединяющиеся контроллеры, они решили взять за основу именно порт расширения, ведь в нём есть контакты для второго контроллера, и он на Famicom расположен чуть правее центра. Им тут даже распиновку менять не пришлось. Что же касается первого контроллера, они взяли тот же DB-15, расположили его слева и поменять распиновку так, чтобы можно было подключать первый контроллер. И только его.
Сравните сами передние порты у Famicom и у нашей Денди:
Вот такая вот странная история этих пятнадцатипиновых разъёмов у геймпадов, которые используются в нашей стране.
Но давайте посмотрим, что же выведено на этот порт расширения у Famicom?
(скриншот с сайта wiki.nesdev.com)
Да, на него идут ещё $4016.1 (на ввод), $4017.0-4 (на ввод), $4017.0-2 (на вывод), внешнее прерывание и даже звук! Я был очень приятно удивлён, когда разобрал Денди и увидел, что всё это есть и там:
Правда, не во всех моделях, как выяснилось позже. Но если это есть, значит есть и полная совместимость с аксессуарами для Famicom, и их могут использовать соответствующие японские игры. Но напомню, что Денди — это очень странная смесь NES и Famicom, PAL и NTSC. Пираты выпускали для неё и японские, и американские игры, которые по сути на 100% совместимы, если не брать в рассчёт эти аксессуары и разный формат картриджей.
Итого: в некоторых Денди есть все те же выводы, что и на Фамикоме, которые при этом включают в себя часть выводов доступных на NES. Отсутствует доступ к $4016.3 и $4016.4, но они используются крайне редко. В виде таблички для наглядности:
Принцип работы аксессуаров
Американский разветвитель на четыре игрока для NES называется Four Score представляет из себя простой набор сдвиговых регистров. Т.е. первые восемь чтений из $4016.0 дают данные из первого контроллера, а вторые восемь — из третьего. Аналогично $4017.0 даёт данные о втором и четвёртом контроллерах. Помимо этого при продолжении чтения устройство выдаёт свою сигнатуру, с помощью которой игра определяет, что подключен именно Four Score, а не что-то ещё. Получается, что такое устройство можно собрать из шести сдвиговых регистров (4021 или 74165), и оно будет работать на любой Денди, ведь для него не требуются дополнительные линии данных. Само собой, только с американскими играми, которые выходили для NES.
Японский аналог для Famicom устроен гораздо проще. Третий и четвёртый контроллеры подключаются напрямую в порт расширения и доступны через $4016.1 и $4017.1. Соответственно для такого переходника нам уже нужен полноценный порт расширения у Денди, иначе поиграть вчетвером в японские игры не получится.
Создание своего аксессуара
Хотя сами по себе вышеперечисленные устройства имеют простую схему и собираются из простейших логических компонентов, для сердца устройства типа «всё в одном» я решил использовать ПЛИС. Тем более мне было высказано пожелание сделать там ещё и простейший переключатель-свитч, а мне хотелось сделать возможность менять местами кнопки A и B. Сначала я выбрал Altera EPM3064ATC100, но вскоре выяснилось, что 64 макроячейки мне не хватит, и выбор пал на EPM3128ATC100, где уже 128 макроячеек.
Если уж на то пошло, я решил совсем не мелочиться и поставить в устройство ещё и какой-то экран, на котором показывались бы текущий режим и меню с настройками, к тому же у меня давно валялся без дела один знакосинтезирующий «16×2» дисплей. Вот для работы с ним уже нужен микроконтроллер, и я выбрал ATMEGA16.
Мне всегда было сложнее всего придать устройству приятный внешний вид. Всё-таки я программист, а не дизайнер, но именно при изготовлении устройства в подарок хотелось сделать его максимально красивым и удобным. Тем более это чуть ли не единственный способ как-то показать другим своё произведение искусства: фотографии и видео — это не то, по готовым схемам и 3D моделькам такие вещи воссоздают единицы, серийное производство наладить тяжело, а вот подарок — самое то.
Итак, требования к внешнему виду были такие: четыре порта для стандартных DB-15 контроллеров от Денди, четыре кнопки для их выбора и настройки, кнопка «режим», кнопка «настройки», удобная ручка для Arkanoid и кнопка для него же, которые должны располагаться достаточно удобно и не мешаться. Помимо этого хотелось сделать, чтобы активные порты подсвечивались светодиодами и как-то интуитивно связывались с соответствующими кнопками, логичнее всего при этом расположить разъёмы в ряд, но эти дурацкие DB-15 слишком огромные для этого. Помимо всего устройство должно удобно лежать в руках, ведь оно само по себе игровой контроллер для Arkanoid. В итоге я пришёл примерно к такому виду:
Кнопки в ряд, порты друг над другом, ручка сбоку, кнопка для Arkanoid сзади слева.
Получается, что места внутри достаточно много. Поэтому ПЛИС с разъёмами под провода и гнёзда я решил вынести на одну плату, а микроконтроллер с экраном и кнопками — на другую. Соединяются они при этом простейшим последовательным интерфейсом.
Плата с ПЛИС (первая версия):
Код для ПЛИС я писал на Verilog. Для каждого режима он получается достаточно простым. В первую очередь для многих из них нам надо считать обращения к каждому из портов, т.е. импульсы на проводе clock:
(простите, хабр не умеет подсвечивать Verilog)
Режим имитации американского разветвителя на четверых игроков выглядит так:
В режиме японского же разветвителя на четверых нужно просто соединить входы с выходами напрямую:
Самым сложным оказалось сделать возможность менять местами кнопки A и B, ведь считываются они последовательно, т.е. нужно заранее знать значение B, когда консоль запрашивает A, но оно выдаётся как раз только после A. Сначала я думал как-то ускоренно считывать данные с контроллера, используя какой-то внешний тактовый генератор, но в итоге решил просто брать значение от предыдущего считывания. Это даёт задержку, но она абсолютно незаметна. Тем более игры обычно читают состояние кнопок по несколько раз подряд.
Само собой, все эти режимы и настройки надо как-то задавать. Для этого я определил 12-битный регистр control, данные в который записываются через последовательное соединение, с дополнительным битом для проверки чётности:
Соответственно со стороны микроконтроллера код (весьма грязный) выглядит вот так:
В остальном в коде микроконтроллера нет ничего особенного: работа с дисплеем на контроллере HD44780, кнопки, светодиоды, простенькая менюшка и работа с аналого-цифровой преобразователем для определения угла поворота ручки.
Я всё отладил, убедился в работоспособности и уже начал упихивать компоненты в корпус…
Но перед закрытием крышки решил проверить на оригинальном Famicom, ведь с ним устройство тоже будет использоваться. Увы, режимы, где нужно было считать импульсы clock, работали неправильно. С помощью логического анализатора выяснилось, что с линии данных идут наводки на линию clock:
Это помеха длительностью всего в несколько десятков наносекунд всё портит. Я решил посмотреть своим простеньким осциллографом, что же происходит на линии clock у Денди:
А вот что там же у Фамикома:
Видно, что эта линия подтянута к VCC, при чём очень сильно у Денди и весьма слабо у оригинального Фамикома. Я начал экспериментировать с обвеской. Вскоре стало ясно, что на результат лучше смотреть не логическим анализатором, а самой консолью. Пришлось вспоминать ассемблер для 6502 процессора, писать простенькую программу для тестирования и записать её на картридж:
На ней сразу стало всё наглядно видно, а заодно можно было протестировать сразу все режимы, не меняя игры. ROM можно скачать тут.
В итоге проблема была решена подтяжкой линий clock к VCC через резистор в 1кОм, конденсатором между clock и землёй в 22нФ и резисторами на 200 Ом в разрыв всех линий данных. Увы, пришлось травить новую плату (не фотографировал), но зато после этого сразу же всё заработало.
Итоговый вид устройства:
Во времена СССР я мог бы быть хорошим промдизайнером.
Многие наверное захотят увидеть видео, но на данный момент подарок уже в руках нашей почты, а я снял только небольшую видеоинструкцию для конечного пользователя. Посмотреть её можно тут: www.youtube.com/watch?v=39beci7nE8w
И если вас заинтересовала тематика работы разных игровых контроллеров и создания самодельных, мы как раз на эту тему сняли вторую серию нашего шоу «Пока все играют», где многое очень просто и наглядно объясняется для тех, кто совсем не в теме: