Схема картриджа sega с батарейкой
Часовой пояс: UTC + 3 часа
Делаем Картридж Sega Mega Drive
Вообщем план такой:На руках имеется sega. Игр как таковых для нее у меня нет. Рассматривал конечно вариант купить картридж, но мы же радиолюбители не ищем легких путей . И нужна помощь. В данном деле я мягко сказать новичок, поэтому если несложно подскажите микросхему ROM(что бы с cегой не конфликтовал), и схему программатора\программатор. Спасибо.
И джойстики есть? Если есть подключи их к компу(из навыков нужно только умение разобратся в простейшей схеме, аккуратность и пара разьемов. Драйвера есть, да все есть!), скачай эмулятор с тыщей ромов и наслаждайся. Потому что городить картридж\картриджи, искать ромы, писать их в картриджи самодельные. Месье знает толк в извращениях. Меня иногда удивляют такие вопросы. Да есть "спаять ради того чтоб спаять". Тоесть решить самому конкретную задачу. Но если это ради того чтобы поиграть в игры от сеги.
И еще. Одной "микросхемой ПЗУ" тут не ограничишся. А если тебе интересно как это все работает и схемы интересуют есть неплохая книга: Королев А. Г. "Игровые приставки", издательство "ДМК", серия "Ремонт и обслуживание, №21" Описаны денди, гейм бой, сега и сони ПС. Там даже примеры программ есть под эти приставки, угу. "сокобан", например, для денди.
З.Ы. Новичков обычно так и тянет на какие то сложности, типа спаять самому процессор и всякое такое. Есть много (на мой взгляд) гораздо более интересных и полезных проектов, расписанных шаг за шагом. А еще гугл и яндекс, тема картриджей разжевана 1000 раз, в том числе и на радиокоте. Ты просто не пытался искать
_________________
Голова - это прибор для создания голограмм
Хелбой, Халк и Аватар - отличное наглядное представление модели RGB
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!
Возможно я сильно удивлю, но я 3 дня лопатил поиск и ничего. Весь смысл в том что бы играть именно на сеге, а не на эмуляторе. За книгу спасибо, посмотрю. Я не гонюсь за сложностями, я понимаю что что либо сложнее я не соберу.Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет
в чем смысл играть именно на сеге? Ну ладно если это радиолюбительское "я так хочу!" А так, ну подцепи телек к компу через s-video, джойстик к омпу и будет "все как в детстве"
_________________
Голова - это прибор для создания голограмм
Хелбой, Халк и Аватар - отличное наглядное представление модели RGB
Компэл 28 октября приглашает всех желающих принять участие в вебинаре, где будет рассмотрена новая и перспективная продукция компании Traco. Мы подробно рассмотрим сильные стороны и преимущества продукции Traco, а также коснемся практических вопросов, связанных с измерением уровня шумов, промывкой изделий после пайки и отдельно разберем, как отличить поддельный ИП Traco от оригинала.
Хм. Так можнт сначала с мультивбратора начнёте, или с рефлексного приёмника_________________
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением.
Замена традиционных реле и предохранителей в автомобильных системах распределения питания и управления нагрузками, а также в промышленных системах электропитания постоянного тока на интеллектуальные силовые ключи – массово идущий процесс. Ведущую роль в нем играют силовые ключи PROFET производства Infineon. Специалисты компании отвечают на основные вопросы, возникающие при этом у разработчиков.
Так а я о чем говорил. Меня тоже иногда посещают мысли как круто было бы собрать мегакрутое и нужное устройство на микроконтроллере. Вот только написать программу я не умею, а на форумах хрен кто прогу напишет, разве что девайсом заинтересуется много людей, в том числе и те кто писать проги умеет. И то будет блин "немного не то". Без всяких нужных фич._________________
Голова - это прибор для создания голограмм
Хелбой, Халк и Аватар - отличное наглядное представление модели RGB
Сменные игровые картриджи впервые появились в консоли Fairchild Channel F. В интернете сохранилась журнальная реклама этого чуда техники с привычными для сего жанра криповатыми людьми с улыбками серийных убийц (кстати, у мужчины на руке кольцо прямо как в сериале Twin Peaks, не с этой ли картинки его взял молодой Дэвид Линч?):
Всем известно, что картриджи содержали софт в read-only памяти, доступ к которой шёл напрямую, без копирования в RAM консоли или компьютера. В давние времена это обеспечивало большое преимущество в виде отсутствия долгих загрузок, от которых страдали тогдашние игры на дискетах или компакт-дисках.
Но возникает вопрос - были ли у них ещё какие-то ещё особенности? В конце-концов, CD или DVD ничем примечательны быть не могут – там просто содержится какая-то информация, отличаются они только набором байтов и напечатанной картинкой на поверхности, ну иногда цветом поверхности. Почему-то субъективно диски сейчас кажутся чем-то обыденным и скучным, хоть у меня ими уже и не завален весь дом, как это было лет 15-20 назад. Всяких CD, DVD и Blu-ray с играми, музыкой и фильмами произвели настолько много, что даже страшно представить какой высоты башню из них всех можно было бы сложить.
Картриджи же представляют собой довольно пёстрый зоопарк, что привлекает коллекционеров. В первую очередь, они прилично отличаются внешне для разных платформ, или даже для разных региональных версий одной платформы. Так, если американская NES имела стандартную форму и серый цвет для лицензионных картриджей, то её японский прародитель Famicom радовал пользователей радугой цветов, и даже форма картриджей от разных издателей отличалась:
Картриджи для Famicom Картриджи для NES
В России игрокам достались разнообразные пиратские клоны Famicom. Большинство картриджей к ним лично у меня были жёлтыми. Встречал чёрные (входящий в комплект картридж с фейковым миллионом игр был как раз чёрным), и очень редко попадались какие-то ещё. Даже интересно почему жёлтый пластик был доминирующим, неужто он дешевле в производстве?
Такое мы могли увидеть на рынке в 90-ые
Впрочем, есть особенности поинтереснее внешнего вида. Долгое время я думал, что картридж – это всегда лишь ROM в прямоугольном пластиковом корпусе. Однако, году этак в 1994-м мне в руки попала игра Beyond Oasis для Sega Megadrive. Она была очень хороша, но требовала неприличного количества часов на полное прохождение, поэтому я впервые увидел опцию save game без всяких паролей. Сохранялась игра честно, помнила весь прогресс и все предметы в инвентаре. Никакие другие мои игры так не умели, поэтому было очевидно, что вся магия зашита в картридже. То есть, он явно отличался от других. Уже с появлением интернета я узнал, что в Beyond Oasis, как и в ряде иных игр, был отдельный RAM чип на картридже, а также батарейка, которая не давала памяти с сохранёнными играми очиститься при отсутствии прочих источников питания.
Beyond Oasis (Sega Megadrive/Genesis) - масштабная игра с эпичными боссами
Также батарейка для сейвов была в ряде картриджей Famicom/NES, самые известные из них это масштабные игры - The Legend of Zelda, Zelda II - The Adventure of Link, Final Fantasy. В них короткие игровые сессии были бы бессмысленными без сохранения прогресса.
The Legend of Zelda Zelda II - The Adventure of Link
Final Fantasy
Однако, кроме возможности сохранения игр в некоторых картриджах для NES могли быть и другие приятные бонусы. Всё это достигалось использованием multi-memory controllers (MMC) – специальных чипов, которые расширяли возможности базовой консоли. Также их называли мапперами. Было много видов, самым продвинутым стал MMC5, который добавлял три звуковых канала к пяти имеющимся в приставке, улучшенные графические тайлы, и даже дополнительный 1 КБ RAM (у самой NES было всего 2 КБ). Он использовался, например, в Castlevania 3: Dracula’s Curse.
MMC5 Castlevania 3
К слову, пираты тогда запросто могли и модифицировать игры, так что версии игр на «левых» картриджах не всегда точь-в-точь совпадали с лицензионными. Иногда российский геймер начала девяностых получал упрощённую версию какой-нибудь Contra с несколькими десятками лишних жизней, но иногда наоборот можно было, самим того не ведая, играть в жёсткий хардкор, как в некоторых версиях пиратки Bucky O'Hare. Известный ютубер Кинаман объяснял в чём было дело – вместо полоски хитпоинтов игроков ждала версия со смертью героя от одного касания. Это не обязательно был осознанный косяк пиратов. Тот же Кинаман драматично и нецензурно рассказывал зрителям о неубиваемом Шредере в TMNT 3, и вот там это 100% было специально задумано разработчиками, как защита от копирования. Такой вот креативный DRM, который изредка повторяют и в наше время.
В пиратской версии игроков здесь ждал сизифов труд
Если вернуться к Megadrive, то мне ещё запомнилось чувство изрядного удивления, когда я в какой-то книжке с прохождениями и секретами прочитал об игре Sonic & Knuckles. В неё можно было играть отдельно, но также картридж открывался сверху и позволял вставить туда Sonic The Hedgehog 3. Комбинация игр открывала новые возможности, недоступные в каждой из них по отдельности, меняла концовку Sonic 3 и давала выбирать уже из трёх персонажей. Разрабатывалось всё это изначально как одна игра, но из-за нехватки времени её разбили на две. Насколько я знаю, больше подобных двухэтажных башен из картриджей тогда никто не производил, да и потом тоже.
Картридж Sonic & Knuckles открывается сверху
В начале 90-х в самом разгаре была война Sega и Nintendo, так что наличие трёхмерных игр давало мощный аргумент для адептов SNES в школьных спорах на тему «какая консоль круче». Базовая SNES, как и Sega не годилась для полигональной графики. Однако, Argonaut Games придумали внешний графический чип, который позволил приставке отображать её. Конечно, полигоны в низком разрешении и без текстур были не особо красивыми, да и FPS у тех игр такой себе, но тогда и этого хватало. Самой известной игрой с чипом Super FX стал Star Fox, а версия Super FX 2 позволила существовать порту Doom на SNES. Конечно, даже мощи этого чипа для переноса главной игры id Software было мало, и потребовались серьёзные усилия разработчиков.
Star Fox позволял увидеть полёты в полноценном 3d на SNES SNES версия Doom легко узнаётся по отсутствию текстур пола и потолка
В Super FX входил процессор архитектуры RISC, который работал как графический ускоритель. Существовали и другие чипы, добавленные в некоторые игры SNES. Например, математический сопроцессор в чипе DSP-1 использовался в Super Mario Kart, а Capcom применяла сопроцессор Cx4 для тригонометрических расчётов в Mega Man X2 и X3.
Sega тогда проводила агрессивную рекламную кампанию, где высмеивала якобы менее продвинутую 16-битную консоль своего конкурента. Разумеется, Super FX чип убивал такую аргументацию, так что было решено сделать свой вариант. В сотрудничестве с Samsung, Toshiba и Hitachi был разработан Sega Virtua Processor (SVP чип). Он тоже использовался для полигональной графики. А найти его можно лишь в игре Virtua Racing, которая из-за цены чипа продавалась аж за 100 долларов (игры с FX чипом на SNES тоже были подороже обычных, но они стоили всего 60$). Этот факт привёл к плохим продажам Virtua Racing.
Virtua Racing (Sega Genesis/Megadrive)
Компания запланировала более адекватный по цене вариант – планировалось выпустить отдельный картридж с чипом SVP за 50$, а в него сверху вставлялись бы будущие игры, которым он нужен. Тогда пользователь отдавал бы за них уже приемлемую цену, не переплачивая каждый раз за копию SVP. Выглядело бы это примерно как уже знакомый нам двойной картридж 3-его Sonic + Sonic & Knuckles:
Предполагаемый вид картриджа с SVP (в реальности не существует)
Однако, вскоре Sega отказалась от этих планов и решила по-другому проапгрейдить Megadrive/Genesis. На рынок вышел аддон – Sega 32x, который ещё сильнее увеличивал графические возможности консоли. А совсем скоро у них вышла и приставка нового поколения – Sega Saturn.
Картриджи ещё долго жили в разных модификациях популярной консоли GameBoy от Nintendo. Примечательным вариантом неигрового картриджа для неё была Pocket Camera (японское название), или Game Boy Camera, появившаяся в 1998 году.
Картридж с камерой для GameBoy и отдельный мини-принтер для печати
Более новые поколения консолей уже использовали диски разных форматов, включая miniDVD в GameCube. Похоже, Nintendo испытывала какую-то неприязнь к полноразмерным дискам. За всю историю эта компания использовала их только в Wii и Wii U. Современная крайне успешная Nintendo Switch опять вернулась к картриджам по причине своего портативного форм-фактора. Но никаких интересных особенностей внутри у них нет, насколько мне известно.
В прошлой статье мы говорили о трёх картриджах с интересной особенностью: у них был разъём, в который вставлялись другие картриджи. Некоторые другие картриджи развили эту идею, позволив подключить в разъёмы своих консолей отдельные видеоигровые консоли. Это не были обычные аппаратные дополнения: они требовали собственных картриджей, несовместимых с основной системой.
Сегодня мы рассмотрим три очень разных «консоли внутри картриджей» от трёх очень разных производителей. Для появления всех трёх систем существовали все технологические и стратегические причины, и они могут поведать нам интересную историю. Давайте начнём с самой загадочной системы — единственной из трёх, которая была нелицензионной и производилась не самим создателем консоли.
Aladdin Deck Enhancer
В начале 1990-х в офисе компании Codemasters, должно быть, находилась впечатляющая лаборатория исследований и разработок. Изначально компания была создана с целью разработки игр для домашних компьютеров Commodore, но спустя несколько лет открыла отдел по созданию нелицензионных игр и аппаратных дополнений к Nintendo Entertainment System (NES). Наверно, самым знаменитым продуктом компании, по крайней мере, в среде консольных игроков, было чит-устройство Game Genie 1 , но оно оказалось не единственным примером нелицензионного оборудования для NES.
Одним из самых потрясающих свойств видеоигровых картриджей является их превосходная универсальность. В процессе развития технологий картриджи становились всё мощнее и дополняли возможности самих консолей. Оборудование NES было разработано ещё в середине 1983 года, и к началу 90-х ему уже требовалась вся возможная помощь. Позже в картриджах NES появились всевозможные компоненты, в том числе ОЗУ, контроллеры для переключения банков памяти и специальные аппаратные мэпперы 2 .
Внутри некоторых картриджей для разных игр было одинаковое оборудование, единственное отличие заключалось в игровых данных, хранящихся на чипах ROM. Сооснователь компании Codemasters Ричард Дарлинг заметил это и к нему пришла блестящая идея создать дополнение для NES, позволяющее сделать игры проще и дешевле. Результатом реализации этой идеи стал Aladdin Deck Enhancer, выпущенный в ноябре 1992 года. Enhancer был картриджем NES, в котором содержалось всё, кроме игровых данных. Он имел разъём для подключения так называемых «компактных картриджей» (Compact Cartridge). Эти компактные картриджи должны были стать гораздо меньше обычных картриджей NES и состоять исключительно из игровых данных, записанных в чипах ROM.
Dizzy the Adventurer на Compact Cartridge.
Codemasters надеялась, что Enhancer сможет стать их собственной жизнеспособной целевой платформой для издателей, заинтересованных в обходе официальной программы лицензирования Nintendo и выпуске своих игр на компактных картриджах. Благодаря меньшим размерам и тому, что большая часть электрических схем, необходимых для обычных картриджей, уже была встроена непосредственно в Enhancer, компактные картриджи можно было продавать гораздо дешевле, чем обычные лицензированные игры NES. Учитывая то, что он был выпущен уже после появления на рынке преемника NES (SuperNES), очевидно, что целевой аудиторией Enhancer были ограниченные в средствах покупатели, которых больше интересовали не новые технологии, а просто игры.
К сожалению для Codemasters, идея так и не обрела успеха. Несмотря на обещания выпуска к концу 1993 года двадцати четырёх игр, было выпущено всего семь игр, и множество нераспроданных устройств на десятилетия осталось пылиться на складах. Невероятно, но совершенно новый, нераспечатанный Enhancer можно найти в Интернете даже спустя двадцать пять лет после выпуска 3 .
Super Game Boy
Super Game Boy был дополнением к Super Nintendo Entertainment System (Super NES), предоставлявшим изумительную возможность играть в игры для Game Boy. Размером не больше обычного картриджа для Super NES, Super Game Boy имел на верхней кромке разъём, в который можно было вставлять стандартные игры Game Boy. Вставив картридж Game Boy и присоединив Super Game Boy к консоли, игроки впервые получали шанс сыграть в любимые игры на телевизоре. Учитывая то, что Game Boy был печально известен своим зернистым, размытым и тусклым экраном, это казалось потрясающим усовершенствованием.
Современные игроки привыкли к совместимости старых игр с новыми системами, но для 90-х эта идея была довольно свежей 4 . Консоли 90-х не были достаточно мощными для программной эмуляции других систем, поэтому картридж Super Game Boy на самом деле сдержал всё внутреннее оборудование обычного Game Boy. Несмотря на то, что он по большей мере был просто консолью Game Boy в картридже, в рукаве у Super Game Boy было ещё несколько трюков.
Donkey Kong на Super Game Boy со специальной рамкой.
В игры Super NES пользователи должны были играть на больших телевизионных экранах, а не на дисплеях карманных устройств, поэтому их разрешение было выше, чему у игр Game Boy. Это означало, что при отображении игры Game Boy на экране телевизора её изображение должно было вставляться в рамку. Игроки могли выбрать одну из множества встроенных декоративных рамок или создавать собственные с помощью виртуальных инструментов рисования. Кроме того, игроки могли включать в игре цвета, заменяя монохромные оттенки цветов Game Boy на самостоятельно выбираемую палитру. Некоторые поздние игры для Game Boy даже выпускались с собственными встроенными рамками, и могли использовать аппаратные возможности Super Game Boy по отображению большего количества цветов игры 5 . К сожалению для геймеров такие усовершенствования не прижились, но те, которые всё-таки были выпущены, выглядят потрясающе 6 .
Super Game Boy был выпущен в 1994 году, через пять лет после начала цикла жизни Game Boy и спустя три года после выпуска Super NES. Во многих отношениях выпуск Super Game Boy был очень умным ходом. Во-первых, он значительно расширил библиотеку доступных для Super NES игр, мгновенно представив доступ к трём сотням дополнительных игр 7 . Во-вторых, он снова привлёк внимание к терявшему популярность Game Boy, который на тот момент начинал казаться устаревшим. Nintendo не стала долго ждать, чтобы дать Game Boy второе дыхание: первая игра про покемонов Pocket Monsters была выпущена в Японии в 1996, породив целый феномен поп-культуры, и к концу 1990-х Nintendo выпустила три дополнительных варианта консоли Game Boy 8 . В конечном итоге линейка Game Boy стала одной из лучших по продажам видеоигровых систем за всю историю 9 .
Super Game Boy 2 был выпущен в Японии в 1998 году. Он обновил свой стиль и соответствовал моде на «прозрачный пластик» конца 90-х, а также внёс множество усовершенствований. Первая версия Super Game Boy не совсем точно соответствовала скорости ЦП оригинальной портативной консоли, поэтому игры работали на 2,4% быстрее. В Super Game Boy 2 эта ошибка была исправлена; кроме того, в него добавили разъём для линк-кабеля Game Boy, позволявший при наличии второй консоли играть вдвоём 10 .
В целом Super Game Boy наверно оказался самой успешной «системой в картридже». Nintendo воспользовалась той же самой идеей в 2003 году для выпуска Game Boy Player, позволявшего играть на GameCube в игры для Game Boy Advance, Game Boy Color и первого Game Boy.
Sega 32X
Из трёх рассматриваемых нами систем Sega 32X меньше всего похожа на традиционный игровой картридж. Вставляемая в разъём картриджа Sega Genesis, 32X добавляла этой постепенно устаревающей системе значительные графические мощности. Нетрудно представить, что дизайнеры Sega пытались вызвать в покупателях ассоциации с турбонагнетателя мощного масл-кара, особенно учитывая основную целевую аудиторию системы — мальчиков подросткового возраста 11 .
В отличие от первых двух систем, 32X не была простым устройством вида «включи и играй». Перед подключением 32X игрокам нужно было установить внутрь Genesis металлические скобы. Затем нужно было подключить 32X к телевизору (не к Genesis), а затем подключить 32X к Genesis вторым видеокабелем. Наконец, у 32X был собственный источник питания с большим трансформатором, торчавшим из розетки. После подключения всей системы задняя часть конструкции из Genesis/32X представляла собой хаос из проводов 12 .
Выпущенная в 1994 году 32X появилась спустя пять с лишним лет после выпуска Genesis, которая в то время испытывала всё нарастающее давление со стороны и Nintendo, и других конкурентов с мощными консолями следующего поколения. Хотя собственная консоль Sega следующего поколения уже почти была готова к выпуску, она продавалась бы по цене следующего поколения, в более чем четыре раза превышая текущую стоимость Sega Genesis 13 .
Sega надеялась, что существует огромный потенциальный рынок потребителей, желающих выложить относительно небольшую сумму, чтобы стать чуть ближе к играм следующего поколения 14 , и казалось, что эта стратегия может сработать. Однако на следующий день после выпуска Sega 32X в Северной Америке в Японии вышла настоящая консоль следующего поколения под названием Saturn. Попытка привлечь разработчиков к одновременной поддержке двух новых систем была сложной задачей, и покупательский спрос на «полушаг» к следующему поколению консолей с каждым уходящим падал, ведь настоящее следующее поколение было уже совсем близко. Это давило на компанию Sega и заставило выпустить Saturn в Северной Америке раньше задуманного, всего спустя шесть месяцев после 32X. Это было катастрофой.
Тем не менее, нам несложно представить мир, в котором 32X оказалась бы успешной. Если бы 32X выпустили чуть раньше, или если бы Saturn выпустили чуть позже, то у 32X, возможно появилось бы время, чтобы достичь популярности 15 . Даже с учётом цены Genesis, 32X всё равно стоила в два раза дешевле Saturn, и могла многое предложить игрокам с точки зрения аппаратных улучшений. К сожалению, вместо того, чтобы стать фундаментом грядущего успеха Sega, 32X стала предзнаменованием постепенного ухода Sega с рынка разработки консолей.
Дополнение о дополнениях
Картриджные разъёмы предназначались для игр, а не для систем, но отважные инженеры всё равно расширили границы возможного и создали на их основе впечатляющие устройства. Переход от картриджей к оптическим дискам, а затем и к цифровой загрузке контента означал, что время разъёмов для картриджей пришло и ушло.
Аппаратные дополнения встречаются и в современной истории видеоигр — вспомните например Sony, но сложности их использования не изменились. Дополнения — это всегда рулетка: их общий возможный рынок ограничен существующей базой пользователей основной системы, а к моменту выпуска дополнения на рынок игроки часто уже ждут следующее поколение технологий. Большинству дополнений не удаётся оказать серьёзного влияния. Но они могут «выстрелить» при условии наличия больших преимуществ для игроков — успех Super Game Boy стал тому доказательством.
После моей статьи про дампер картриджей (которую пока что оставили на Хабре почему-то), меня очень много раз просили рассказать, как собирать и записывать картриджи для Денди/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 он запоминает записанное значение и выдаёт его на те самые дополнительные выводы у памяти, он же переключает мирроринг.
Но большинство игр использует для этого более сложные микросхемы, которые разработаны специально для этих целей.
Они, как правило, умеют уже переключать разные банки для разных областей памяти, управлять дополнительной памятью, генерировать прерывания, а иногда даже расширять вычислительные мощности консоли.
Первым делом читаем, как происходит взаимодействием с ним. А происходит оно через запись по определённым адресам, их 8 групп: $8000-$9FFE (чётные), $8001-$9FFF (нечётные), $A000-$BFFE (чётные), $A001-$BFFF (нечётные), $C000-$DFFE (чётные), $C001-$DFFF (нечётные), $E000-$FFFE (чётные) и $E001-$FFFF (нечётные). Запись по любому адресу внутри группы равнозначна. Видите закономерность? Регистр выбирается с помощью трёх адресных бит: A0, A13 и A14, остальные же значения не имеют.
Попробуем же имитировать работу маппера с помощью ПЛИС. Код я пишу на языке Verilog. Он тут не подсвечивается, прошу прощения за это.
Сначала описываем наши регистры, которые хранят текущее состояние:
Описываем реакцию на запись по соответствующим адресам. Возрастающий сигнал /ROMSEL говорим о том что было обращение к памяти картриджа, т.е. по адресам $8000-$FFFF, нам надо реагировать именно в этот момент.
Теперь же опишем, какой должен выбираться банк при обращении к соответствующей части памяти в зависимости от наших регистров.
Переключаются они в соответствии с такой таблицей:
Теперь CHR. Там такая схема:
Режим зеркалирования описывается всего одной строкой. В зависимости от него мы замыкаем вывод картриджа CIRAM A10 либо на A10, либо на A11:
Дальше сложнее. MMC3 умеет генерировать прерывания, когда на экране рисуется определённая строка. Это весьма полезно, и игры часто это используют. Строки на экране считаются с помощью обращений к A12 у PPU. При типичных настройках сигнал на A12 переходит из логического 0 в логическую 1 ровно один раз за строку, если не считать кратковременные переходы в 0. А их надо не считать, это всё немного усложняет:
Ах да, MMC3 поддерживает ещё подключение дополнительной оперативной памяти по адресу $6000-$7FFF! Надо не забыть и это описать:
На самом деле собрать картридж для какой-то одной определённой игры весьма просто, ведь нужно будет установить только необходимые компоненты. А вот сделать универсальный картридж гораздо сложнее.Если установить ПЛИС на 128 макроячеек, flash на 512 килобайт для PRG, flash на 512 килобайт для CHR, SRAM на 32 килобайта для CHR, SRAM на 32 килобайта в качестве дополнительной памяти, питание которой поддерживается батарейкой для игр, которые умеют сохраняться, то на нём пойдёт уже около 90%-95% игр. Схема получается весьма замороченная, я долго вручную рисовал плату под всё это дело. Кстати, при выборе компонентов не стоит забывать, что у Famicom/Dendy пятивольтовые уровни. Китайцы сейчас очень часто это игнорируют.
Первая ревизия моего универсального картриджа выглядела как-то так:
Ну и программу для записи игр написал конечно же:
Как видите, всё не так сложно, если немного посидеть и разобраться в принципах работы.
Читайте также: