Ricoh 2A03 — Википедия
Ricoh 2A03 или RP2A03 — микросхема 8-разрядного микропроцессора, производившаяся компанией Ricoh для применения в качестве основного процессора игровой консоли Nintendo Family Computer и Nintendo Entertainment System. Она содержит собственно ядро процессора, частично совместимое с 6502, а также 22 отображаемых на память порта ввода-вывода, управляющих присутствующими в составе микросхемы программируемым генератором звука, простейшим контроллером прямого доступа к памяти (ПДП), таймером с возможностью генерации прерываний, и портом джойстиков.
Устройство
[править | править код]Процессорное ядро микросхемы представляет собой практически полный аналог NMOS-версии процессора 6502. Главным и единственным отличием является отсутствие поддержки десятичного режима. Схема двоично-десятичной коррекции присутствует, но не функционирует благодаря отключению нескольких транзисторов в схеме, в результате чего все арифметические операции проводятся в обычном режиме, даже при установленном флаге D.
Название 2A03 наиболее часто используется для обозначения программируемого звукогенератора, входящего в состав микросхемы. Он имеет следующие возможности:
- Пять независимых каналов, среди которых:
- Два равноценных канала, генерирующие прямоугольные импульсы. Имеют возможность изменения частоты, громкости и скважности импульсов
- Один канал, генерирующий треугольные импульсы (обычно используется в музыке NES как басовый инструмент). Не имеет регулировки громкости
- Один канал, генерирующий белый шум
- 7-разрядный ЦАП, данные для которого кодируются методом ДИКМ и могут передаваться контроллером ПДП. За один отсчёт читается один бит данных, увеличивающий или уменьшающий значение 6-разрядного счётчика, выходы которого подключены к старшим разрядам ЦАП (младший разряд не изменяется)
Музыка
[править | править код]Возможности синтеза звука микросхемы 2A03 стали популярны благодаря большому количеству хорошей музыки в популярных играх для NES. С развитием возможностей бытовых компьютеров, позволяющих реализовать программную эмуляцию 2A03, энтузиастами был создан ряд средств, позволяющих создавать любительскую музыку для 2A03. Среди этих средств драйвер для системы программирования звука MCK/MML (Music Meta Language), а также редакторы-трекеры Nerdtracker II (MS-DOS) и Famitracker (Windows).
Версии
[править | править код]Европейские и Австралийские версии NES использовали микросхемы Ricoh 2A07 или RP2A07, которые полностью аналогичны 2A03, за исключением делителя тактовой частоты (это связано с различными телевизионными стандартами в разных странах).