Архитектура и программирование Dendy.
Игровая приставка NES (Nintendo Entertainment System),
известная также как Famicom (FAMily COMputer) – в нашей стране, благодаря
фирме Стиплер (Steepler), известна как Dendy. И не смотря на то, что в середине
девяностых годов прошлого века Денди была действительно «народной» приставкой
– с ростом технического прогресса она сейчас, как игровая система, отошла
на задний план (уступив место ПК). Но именно в сегодняшние дни Денди приобрела
новый интерес у радиолюбителей – как простейшая микро-ЭВМ …
Вопросом программирования Денди заинтересовался и я. Разнообразной
информацией Интернет не изобилует (хотя кое-что есть) – вся документация
англоязычная (хотя встречаются и ее прямые переводы – безо всякого осмысления
переводимого). Не так давно вышла даже книга и мультимедийный диск (разных
издательств, но одинакового содержания – книга даже более полного) – в которых
легко узнаются все теже англоязычные источники (а часть информации взята
«с потолка» и абсолютно некорректна). Поэтому многое пришлось осмыслять на
практике. Результаты моей работы перед вами (весь текст исключительно мой)
и так начнем …
Материал ориентирован на читателя, обладающего базовыми
сведениями по организации ЭВМ.
Общие сведения об архитектуре Денди.
Игровая приставка Денди является микро-ЭВМ для домашнего
применения (далее речь пойдет именно о Денди – как наиболее распространенной
вариации консоли NES в России), ориентированная на использование телевизора
в качестве дисплея. Подключение к телевизору может осуществляться одним из
двух способов – по низкой частоте (двумя кабелями – звук и видео) или по
высокой частоте (при помощи «антенного» кабеля).
Денди сконструирована на базе микропроцессора
(CPU), совместимого с MSC6502 (RP2A03, RP2A07, UM6527) и видеопроцессора
(PPU) (RP2C02, RP2C07, UM6538) – работающих в тесном взаимодействии. У каждого процессора
своё адресное пространство (адресные пространства CPU и PPU не
пересекаются). Микросхема CPU имеет встроенный звуковой
сопроцессор – pAPU. Каждый процессор имеет свое адресное пространство и свою оперативную
память (не путать с адресным пространством). Так же приставка содержит
прочие «мелкие» микросхемы, сопрягающие работу всей системы. Архитектура
предусматривает хранение (и исполнение) программ со сменных модулей – картриджей.
Об архитектуре картриджа см. ниже – здесь лишь скажем,
что часть картриджа адресует CPU, а часть PPU. Изначально плата приставки
содержала несколько корпусов микросхем (CPU и память, PPU и память, тактовый генератор, регистры и прочее …) Последняя модель Денди собрана
на микроконтроллере (UM6561A) – который совмещает
на одном кристалле все микросхемы приставки. В моделях более ранних версий
– память (оперативная и видео) устанавливалась в виде двух отдельных микросхем
(UM6516), наверное, в контроллере (xx1818) её нет.
Вне зависимости от элементной
базы, структурная схема Денди имеет вид, показанный на рисунке 1.
Рисунок 1.