Картридж dendy своими руками

Картридж dendy своими руками

#0. Введение.

Dendy или Де́нди — игровая приставка, неофициальный аппаратный клон консоли третьего поколения Famicom (в США и Европе известной как Nintendo Entertainment System) японской фирмы Nintendo. В основу Dendy был положен японский конструктив аппаратной части и формат картриджа, несколько отличавшийся от американского. Dendy выпускалась с конца 1992 года компанией Steepler, собиралась на Тайване из китайских комплектующих по заказу Steepler и была распространена в республиках бывшего СССР, особенно в России, на Украине и в Казахстане. Поскольку на постсоветском пространстве NES официально никогда не продавалась, Dendy, которая была широко распространена и доступна по цене, в своё время снискала большую популярность.
Когда-то в детстве я мечтал о персональном компьютере. Частью мечты была мысль о том, что когда он у меня будет, я с легкостью смогу записывать на картриджи для Dendy другие игры и даже копировать сами картриджи друг на друга. Но всё оказалось гораздо сложнее. Сложностью было то, что я не заканчивал никаких вузов или даже пту по специальностям связанным с микроэлектроникой и по большому счету, сейчас я просто собираю схемы без особого осознания, как же там всё на самом деле работает. Текущих знаний хватает, чтобы заниматься подобным увлечением.
Обычный поиск в интернете дает очень мало информации, как сделать самому картридж для Dendy. Поэтому решил я в этом разобраться и собрать всё в один документ, чтобы у простых людей (у не простых людей всё в порядке, они такие вещи, наверно, во сне собирают, для них это не сложно) больше не возникало сложностей в этой области.
Не без помощи таких же увлеченных людей, я получил некоторые схемы и подобия схем по подключению различных мапперов в картриджах для Dendy. Разобравшись, я развел печатные платы и лично проверил работоспособность всех изготовленных картриджей. Во вложениях к данному документу вы сможете найти все печатные платы в формате Sprint Layout 6.
Технология создания картриджей, изложенная в данном документе, является просто, примером того, как это можно было бы выполнить, при желании можно сделать как угодно.
Единственное, что нужно понимать, это то, что если вы решились на подобную модификацию, то вся ответственность ложиться только на вас. Если приставка выйдет из строя или случиться ещё что-нибудь более страшное, то в этом виноваты будете только вы, и никто другой!
Если вы уверены в своих силах, то желаю Удачи в строительстве картриджей!

Начало.

Первое, с чего нужно начать, это закупиться нужными радиодеталями. Для создания разных моделей картриджей, нужны будут разные детальки. В первую очередь нужно раздобыть двухсторонний текстолит толщиной 1.5мм, он отлично входит в разъем для картриджа Dendy. В документе я рассмотрю картриджи на мапперах NROM, CNROM, AxROM (AOROM, AMROM, ANROM), UxROM (UNROM, UOROM). Опционально нам нужны будут следующие компоненты: 74ls161, 74ls02, 74ls32, микросхемы пзу от 64КБит до 2МБит, и панельки к ним (я предпочитаю использовать микросхемы в plcc корпусах), диоды 1N4148, керамические конденсаторы на 0.1 мкф. Ни в коем случае не торопитесь в процессе создания картриджей для денди, спешка может испортить всё.
Будем использовать следующий pinout разъема картриджа денди. Все приведенные в данном документе схемы, буду опираться именно на такую распиновку разъема.

Ниже можно скачать список игр с подписанными мапперами и список мапперов

Источник

Самодельные картриджи для Dendy/Famicom

После моей статьи про дампер картриджей (которую пока что оставили на Хабре почему-то), меня очень много раз просили рассказать, как собирать и записывать картриджи для Денди/Famicom самому. Да, это очень избитая тема, даже в древних номерах журнала «Радио» про это можно было почитать, но прогресс не стоит на месте. Рассмотрим эту тему с точки зрения современных компонентов. Тем более, по-моему, она идеально подходит для изучения азов работы с ПЛИС, именно на этом я и сам учился.

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

Видео:

Статья:

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

Напомню, что картридж включается прямо в шину CPU и в шину PPU, а соответственно в первую очередь содержит две микросхемы памяти с параллельным доступом: PRG — к ней обращается процессор, и она содержит непосредственно код игры, и CHR — с ней работает PPU (графический процессор), и она содержит изображения. При чём последняя запросто может быть не ПЗУ, а оперативной памятью, куда уже в процессе игры записываются данные.

Таким образом, самый простой картридж можно сделать из любых двух микросхем памяти с параллельным доступом, будь то хоть EPROM, хоть flash. При этом больше ничего из обвязки не нужно. Например, вот так выглядел мой первый самодельный картридж:

Читайте также:  Настройка линз своими руками

Микросхемы просто подключаются напрямую к соответствующим выводам на разъёме картриджа. Ноги /RD можно припаять напрямую к земле, ведь консоль всегда будет только читать данные, но я записывал данные уже после сборки картриджа, с помощью всё того же дампера, поэтому подключил все выводы как положено. Биты адреса и данных при этом перепутаны местами, но это абсолютно не имеет значения. Внизу можно увидеть перемычку, которая определяет «mirroring» — как будет зеркалироваться видеопамять: горизонтально или вертикально. Это зависит от игры, и в простейших играх определялось именно перемычкой на картридже.

И ещё очень важный момент — активировать нашу память нужно только тогда, когда консоль обращается к картриджу, иначе будет возникать конфликт на шине. Для этого у микросхем есть вывод /CE (chip enable), который включает память. Тут в ход идёт достаточно простая математика. Программная (PRG) память картриджа начинается с адреса $8000 и заканчивается $FFFF, это два в пятнадцатой степени. Графическая (CHR) память картриджа начинается с адреса $0000 и заканчивается $1FFF, имея объём в 8 килобайт, а это два в тринадцатой степени. Соответственно включать нашу память надо пятнадцатым и тринадцатым контактом на адресной шине. На разъёме картриджа уже есть специальные выводы, которые выдают необходимый нам сигнал. Более того, в случае с PRG памятью нужный нам контакт так и называется — /ROMSEL — сокращённо от ROM Select. Туда консоль выдаёт 0 вольт, когда обращается к памяти картриджа в районе между $8000 и $FFFF. Всё проще некуда.

Однако, на такой картридж можно будет записать только самые простейшие игры. Более серьёзные уже используют картриджи с мапперами, чтобы увеличить максимальный объём игры. Попробую объяснить, как они работали.

У памяти с параллельным доступом каждый бит адреса задаётся отдельным выводом у микросхемы. В разъёме для картриджа есть выводы A0-A14 (15 выводов) для PRG памяти. Это соответственно 15 бит адреса, которые дают 32768 комбинаций единиц и нолей, т.е. позволяют адресовать 32 килобайта. Для CHR памяти там соответственно выводы A0-A13, это 16384 комбинаций, т.е. 16 килобайт, но половина из них отдана памяти внутри консоли.

Уже в восьмидесятые годы таких объёмов стало не хватать. Конечно ничто не мешает поставить в картридж память бОльшего объёма, но у такой памяти и адресных выводов больше. Не трудно посчитать, что каждый дополнительный вывод увеличивает количество возможных адресов ровно в два раза. Но куда их подключать, если количество контактов в разъёме картриджа ограничено? Вот тут на помощь и приходят мапперы, именно они управляют дополнительными выводами в зависимости от различных условий. Почти всегда такими условиями является попытка запись в PRG-область памяти картриджа. Да, в ту, куда нельзя ничего записать.

Многие игры используют для этих целей простейшие логические микросхемы. Например, в картридже у Battletoads стоит четырёхбитный счётчик 74161, который используется как триггер. При записи по любому адресу от $8000 до $FFFF он запоминает записанное значение и выдаёт его на те самые дополнительные выводы у памяти, он же переключает мирроринг.

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

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

В качестве примера возьмём самый популярный маппер — MMC3. О нём во всех подробностях можно почитать тут: wiki.nesdev.com/w/index.php/MMC3

Первым делом читаем, как происходит взаимодействием с ним. А происходит оно через запись по определённым адресам, их 8 групп: $8000-$9FFE (чётные), $8001-$9FFF (нечётные), $A000-$BFFE (чётные), $A001-$BFFF (нечётные), $C000-$DFFE (чётные), $C001-$DFFF (нечётные), $E000-$FFFE (чётные) и $E001-$FFFF (нечётные). Запись по любому адресу внутри группы равнозначна. Видите закономерность? Регистр выбирается с помощью трёх адресных бит: A0, A13 и A14, остальные же значения не имеют.

Попробуем же имитировать работу маппера с помощью ПЛИС. Код я пишу на языке Verilog. Он тут не подсвечивается, прошу прощения за это.
Сначала описываем наши регистры, которые хранят текущее состояние:

Описываем реакцию на запись по соответствующим адресам. Возрастающий сигнал /ROMSEL говорим о том что было обращение к памяти картриджа, т.е. по адресам $8000-$FFFF, нам надо реагировать именно в этот момент.

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

Где $8000 & #$40 — это у нас prg_mode, а -2 и -1 — это предпоследний и последний банк соответственно. Получается такой код:

Теперь CHR. Там такая схема:

Где $8000 & #$40 — это chr_mode. Получается так:

Режим зеркалирования описывается всего одной строкой. В зависимости от него мы замыкаем вывод картриджа CIRAM A10 либо на A10, либо на A11:

Дальше сложнее. MMC3 умеет генерировать прерывания, когда на экране рисуется определённая строка. Это весьма полезно, и игры часто это используют. Строки на экране считаются с помощью обращений к A12 у PPU. При типичных настройках сигнал на A12 переходит из логического 0 в логическую 1 ровно один раз за строку, если не считать кратковременные переходы в 0. А их надо не считать, это всё немного усложняет:

Читайте также:  Подтяжки для мальчика своими руками

Ах да, MMC3 поддерживает ещё подключение дополнительной оперативной памяти по адресу $6000-$7FFF! Надо не забыть и это описать:

Вот и всё, наш MMC3 готов! Полный код можно посмотреть тут: https://github.com/ClusterM/nes_mappers/blob/master/4%20(MMC3)/MMC3.v
В том же репозитории есть коды многих других мапперов.

На самом деле собрать картридж для какой-то одной определённой игры весьма просто, ведь нужно будет установить только необходимые компоненты. А вот сделать универсальный картридж гораздо сложнее.Если установить ПЛИС на 128 макроячеек, flash на 512 килобайт для PRG, flash на 512 килобайт для CHR, SRAM на 32 килобайта для CHR, SRAM на 32 килобайта в качестве дополнительной памяти, питание которой поддерживается батарейкой для игр, которые умеют сохраняться, то на нём пойдёт уже около 90%-95% игр. Схема получается весьма замороченная, я долго вручную рисовал плату под всё это дело. Кстати, при выборе компонентов не стоит забывать, что у Famicom/Dendy пятивольтовые уровни. Китайцы сейчас очень часто это игнорируют.

Первая ревизия моего универсального картриджа выглядела как-то так:

Ну и программу для записи игр написал конечно же:

Как видите, всё не так сложно, если немного посидеть и разобраться в принципах работы.

Источник

Как своими руками сделать картридж Денди

Выкладывал как-то пост про самодельный картридж 2в1 с Батложабами, но не раскрыл секретов, как оное сотворить. Исправляю свою оплошность 🙂

Ну и за одно — пару слов о том, как оно работает.

Дубликаты не найдены

Лига Радиолюбителей

580 постов 6.3K подписчиков

Правила сообщества

Соблюдайте правила Пикабу. Посты выкладывать лишь касаемо нашей тематики. Приветствуется грамотное изложение. Старайтесь не использовать мат.

Постарайтесь не быть снобами в отношении новичков. Все мы когда-то ничего не знали и ничего не умели.

За попытку приплести политику или религию — предупреждение. 2 предупреждения — бан.

Все круто, классно, заебись, но зачем?

Да я понимаю. Сам иногда подобным грешу. Бывает убьешь несколько вечеров на какую-нибудь самоделку. Когда закончишь, то доволен как слон, а потом не понимаешь зачем я это делал.

Лучшие проекты (для) 8 битных приставок своими руками

Возможно вы думали, что мир 8 и 16 битных приставок давно умер. Ведь первые консоли такого типа были выпущены более 30 лет назад.

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

Проекты вошедшие в видео:

✅ Аутентичная 8 битная консоль собранная своими руками.

✅ Самодельный джойстик для денди с любимым 555 таймером. Можете пройти пусть начиная с разводки платы и лута и заканчивая проектированием и распечаткой корпуса.

✅ Разработка картриджа с нуля до загрузки туда сотен игр для приставки известной в России и СНГ как денди. На котором можно даже сохранять прогресс игр.

✅ Самодельная портативная 8 приставка клон фамиком с экраном.

✅ Приставка размером с флешку с 1000 играми на борту и беспроводными джойстиками.

✅ Еще есть более универсальный вариант называется ретро пай, Это эмулятор 8 и 16 битной консолей, устанавливаемый на расбери пай или компьютер. Работает с обычными джойстиками для ПК.

ЗЫ Авторы могут по только им известным причинам закрыть доступ к исходникам своих проектов или схемам. Пожалуйста связывайтесь с ними по всем вопросам напрямую.

Плагиат графики в старинной игрушке

Набрёл на одну старую игру от британской компании Elite Systems — Hopping Mad (Cataball) для Commodore 64 (1987 год):

И её порт на Amstrad CPC (также был порт на Спектрум), 1988:

Ничего не напоминает?)

Графика уровня полностью скопипащена с легендарного Вандер бой))

В целом, Hopping Mad неплохая игра, тут можно найти сравнения её версий https://frgcb.blogspot.com/2014/11/hoppin-mad-elite-systems-. , планировался даже порт на Nintendo Famicom/NES (Денди), но что-то не срослось, хотя в сети можно найти демку.

Wonder Boy, в свою очередь, популярнейший платформер, разработанный японской компанией Escape (теперь известной как Westone Bit Entertainment) и впервые вышедший на игровом автомате SEGA в 1986 году. Позже игра была перенесена на кучу других платформ.

Многим из нас она известна по порту, разработанному Hudson Soft, для приставки NES в 1986 году.

Hudson Soft (в настоящий момент поглащены Konami) получили от Escape права на создание игры, но права на персонажей игры и название остались у Sega, поэтому на «Денди» она вышла под названием Adventure Island (или Takahashi Meijin no Bouken Jima в Японии). Геймплей остался тем же, но главный персонаж был заменён на сотрудника Hudson Soft, отвечающего за коммуникации — Тосиюки «Мэйдзин» Тахакаси, известного тем, что он вёл детские передачи, посвящённые видеоиграм, пел, засветился в кино и манге, в общем был шоуменом (что-то типа нашего Сергея Супонева). В версии для западного рынка персонажу дали имя Master Higgins.

Впоследствии Sega и Hudson выпустили продолжения своих версий игр, создав две независимые популярные игровые серии. Такие дела.

(продолжения серий Wonder Boy и Adventure Island — Monster World IV и Adventure Island: The Beginning)

Композиция одной мелодии. Превращаем 8-битную мелодию в метал-трек

Так ли велико различие между простой 8-битной примитивной мелодией из 90-х и метал-музыкой?
Для наглядности я попробовал собрать все в рамках одной композиции, где не будет ничего кроме одной простой мелодии. По мере развития композиции она просто будет обрастать деталями, и к концу превратится в метал-композицию. Приятного прослушивания.

Читайте также:  Открытка с танком своими руками объемная

Все в сборе!

Итак, вся игровая рать в строю. Теперь это интерактивный видеоигровой уголок местного музея, куда любой желающий вскоре может буквально прикоснуться к консольному прошлому.

«Электроника ВидеоСпорт3» 1990 года и «Шилялис» 1991 г.в. Вышедшие в свет под советским флагом, полностью отечественная видеотехника. Да, вдохновленная западными образцами, но из советских комплектующих.

Видавший виды «Сапфир-412» и многострадальная «Веста-ИК-30», выпущенная таки в 1992 году, а в прошлых постах ошибся, написав год 1990. Сложно было заснять экран, в данном случае нужно подбирать правильный ракурс и наклон камеры. Это- лучший снимок из нескольких. Артефакты и помехи связанны с проблемами телевизора, конденсаторы могли не дожить до нашей эры.

«Dendy Junior» компании «Steepler» середины 1990-х гг. и цветной «JVC». Начала нулевых. Вот не везло мне найти отечественный исправный телеящик девяностых в радиусе 3 километров, но качество картинки вполне хорошее. На новодельном картридже весьма хорошее собрание восьмибитных хитов, не 999999 в одном, но и так сойдет))

В тумбе лежат предметы, которые можно потрогать, включить, поиграть с ними. Посетителям музея часто хочется преодолеть запрет «Трогать предметы запрещается». Правила есть правила, но мы стараемся идти людям навстречу. Итак, в наличии есть арифмометр с счетами, кассетный магнитофон, видеомагнитофон, кассетная видеокамера, диапроектор «Дэлфи» и слегка «тюнингованный» VEF-12 1969 года. Пока просто для фона, в дальнейшем эти и не только вещи смогут рассказать об своей эпохе, попав в руки экскурсантов.

Увы, на видео не слышно в полной мере шума кинескопных телеков.

Atari 2600: легендарная приставка своими руками

Atari 2600 или ее клонов у меня никогда не было, да и, в общем-то, не интересовался ею в принципе. Идея собрать свой клон с нуля родилась спонтанно после просмотра видео на Ютубе. Порадовала большая фанбаза западного сообщества, где она долгое время было массовой домашней системой, ведь официально приставка выпускалась целых 14 лет! Еще одной монетой в копилку этого проекта стала относительная простота схемы, ну и спортивный интерес. Все фотографии сборки были сделаны из видео, поэтому сразу извиняюсь за качество. Много картинок!

Изучение и модификация схемы

При первом знакомстве с несколькими версиями схем (а именно оригинальной VCS и Jr.), стало понятно, что вторая версия пошла по пути упрощения и исправления некоторых участков, в частности убрали излишние фильтры питания, изменили номиналы некоторых резисторов, конденсаторов и чуть изменили схему питания.

Схема оригинальной версии Atari 2600 (взято с репозитория atariage.com )

Версия Atari 2600 Jr. (взято с репозитория atariage.com )

Я же решил сделать сборную солянку с четким пониманием что и как должно работать. Схема питания более, чем стандартная для того времени — входное напряжение 8-9в подается на стабилизатор 78L05 и далее расходится по схеме. НО! Для правильной работы видеочипа TIA (Television Interface Adaptor), а точнее, для правильной работы цвета, на чип необходимо дополнительное напряжение 7-8в. И если в оригинальном варианте схемы это напряжение формируется с применением примитивной повышайки на двух диодах и тактового генератора, то в версии Jr. пошли более простым путем — повышенное напряжение забирается до стабилизатора, прямо с блока питания. Меня этот вариант не совсем устраивал, так как я собирался запитывать приставку от обычной USB зарядки, поэтому выбрал участок из оригинальный схемы, но стабилизатор на всякий случай оставил. Подключение джойстиков и переключателей режимов в обеих версиях абсолютно одинаковые, оставляем как есть.

Далее по схеме идут 2 генератора частоты — один основной тактовый генератор, а второй осциллирует частоту цветовой поднесущей.

Схематично второй генератор выглядит очень странно. На деле это не совсем генератор. С видеочипа на него приходит частота 900КГц, которая раскачивает второй кварц на пятой гармонике и уже эта частота усиливается транзистором и подается обратно в видеочип. Забегая вперед, скажу, что запустить эту часть схемы я так и не смог. Кварц никак не хотел раскачиваться. Может сам кварц не подходит для этой схемы, может погрешности номиналов обвязки не вписали в допуски. Не знаю. Вместо этого чудо-решения поставил обычный генератор на одном транзисторе и каких-либо проблем с цветом не возникло. Позже на SECAM-версии схемы увидел точно такое-же решение, только там была продублирована схема основного генератора. Далее по списку идет аудио-видео часть. Оригинальная схема предлагает безальтернативный способ вывода картинки — ВЧ модулятор для подключения к телевизору. То есть нет ни композитного видео, ни раздельного аудио выходов. Решается это довольно просто, достаточно добавить в схему, так называемый, AV мод. Со слотом картриджа тоже случилась засада. 24 пинового разъема с шагом 2,54мм приобрести не удалось — местные магазины оценивают его в неадекватные 500-600руб, а на Ali штучно не продают, только партиями по 5-10 штук. Поэтому было решено использовать разъем с шагом 3.96мм, который достать гораздо проще. По факту, приобретать оригинальные картриджи я не планирую и особой разницы нет для какого шага травить самодельный картридж.

Прикидываем что нам нужно, что не нужно и рисуем свою схему будущей игрушки.

Источник

Оцените статью
Своими руками