Архитектура и программирование Dendy (Famicom, NES). Глава 1 (Введение)
Архитектура и программирование Dendy.
Игровая приставка NES (Nintendo Entertainment System) - версия для Америки, известная также как Famicom (FAMily COMputer) - версия для Японии, в нашей стране, благодаря фирме Стиплер (Steepler), известна как Dendy. И не смотря на то, что в середине девяностых годов прошлого века Денди была действительно «народной» приставкой – со стремительным ростом технического прогресса она сейчас, как игровая система, отошла далеко-далеко на задний план (уступив место ПК и другим игровым консолям). Но именно в сегодняшние дни Денди более интересна не геймерам, а радиолюбителям – как простейшая микро-ЭВМ …
Вопросом программирования Денди заинтересовался и я.
В начале изучения и создания материала, который представлен вам ниже, а именно в 2003 году - разнообразной информацией Интернет не изобиловал (хотя кое-что и было) – вся документация англоязычная (хотя встречались и ее прямые переводы – безо всякого осмысления переводимого). Тогда же вышла даже книга и мультимедийный диск (разных издательств, но одинакового содержания – книга даже более полного) – в которых легко узнавались все теже англоязычные источники (а часть информации взята «с потолка» и абсолютно некорректна). Поэтому многое пришлось осмыслять на практике (весь текст исключительно мой, авторский).
Вторая итерация и второе существенное дополнение и переработка данного материала была в 2007 году … Всего и не вспомнить, некоторые несущественные дополнения и корректировки были и до и после. Также благодаря отзывам читателей были исправлены некоторые недочеты, однако не все изменения сразу публиковались на сайте.
И вот в 2016 году текст очередной, что называется «обновленной и дополненной», редакции перед вами …
Материал ориентирован на читателя, обладающего базовыми сведениями по организации ЭВМ.
Общие сведения об архитектуре Денди.
Игровая приставка Денди является микро-ЭВМ для домашнего (игрового) применения (далее речь пойдет именно о Денди – как наиболее распространенной вариации консоли NES, а вернее ее японской версии Famicom, в России), ориентированная на использование телевизора в качестве дисплея. Подключение к телевизору может осуществляться одним из двух способов – «по низкой частоте» (двумя кабелями – звук и композитный видео) или «по высокой частоте» (при помощи «антенного» кабеля). Китайские совместимые поделки, представленные в нашей стране в большом разнообразии – архитектурно совместимы с Денди, однако зачастую имеют ряд схемотехнических «упрощений», не позволяющих полностью реализовать функционал оригинальных консолей (и даже стиплеровской «Денди»).
Денди и прочие клоны консолей NES/Famicom (как в общем-то и их оригиналы) сконструированы на базе микропроцессора (CPU), совместимого с MSC6502 (микросхемы: RP2A03, RP2A07, UM6527, HA6827 и пр.) и видеопроцессора (PPU) (микросхемы: RP2C02, RP2C07, UM6538, UM6528, HA6838 и пр.), которые работают в тесном взаимодействии (такая вот «двухпроцессорная» система). Пары CPU + PPU подбираются с учетом формата формируемого кадра – NTSC или PAL. У каждого процессора своё адресное пространство и своя оперативная память (не путать с адресным пространством). Адресные пространства CPU и PPU не пересекаются. Микросхема CPU, применяемая в Денди, имеет встроенный звуковой сопроцессор – pAPU (чего нет у базового процессора 6502), но при этом отсутствует блок двоично-десятичной арифметики. Помимо CPU и PPU, совместно со статической оперативной памятью, работу приставки обеспечивают так же прочие «мелкие» компоненты (регистры, логические элементы), сопрягающие работу всей системы. Архитектура Денди предусматривает хранение (и исполнение) программ со сменных модулей – «картриджей». Об архитектуре картриджа см. ниже – здесь лишь скажем, что часть картриджа адресует CPU, а часть PPU. Изначально плата приставки Денди содержала несколько корпусов микросхем (CPU и память, PPU и память, регистры логические элементы и прочее …) – как и оригинальные консоли. Последние ревизии моделей Денди (1996 год) собраны на заказной микросхеме (UM6561A) – которая совмещает на одном кристалле все «микросхемы» приставки (SoC – System on Chip). В ревизиях моделей Денди более ранних версий можно встретить «гибридный вариант» - память (оперативную и видео) установленную в виде двух отдельных микросхем (UM6516, UM6116 – аналог КР537РУ10), видимо, в центральный «SoC» (xx1818) её нет.
Вне зависимости от элементной базы, структурная схема Денди имеет вид, показанный на рисунке 1.
© Retro-Bit.Ru