Обзор APU
APU - неофициальное название специализированного центрального процессора NES.
Официальное название - MPU (Microprocessor Unit), но мы будем придерживаться неофициального термина. Иногда ещё APU встречается под аббревиатурой "pAPU".
Разработкой микросхемы занималась Ricoh, кодовое обозначение - RP 2A03 для NTSC и RP 2A07 для PAL.
В состав APU входят:
- ядро процессора MOS 6502, с отключенной схемой десятичной коррекции (BCD)
- DMA для отправки спрайтов (жестко настроено на внешние регистры PPU)
- тональные генераторы: 2 прямоугольных, треугольный, генератор шума и delta-PCM.
- ЦАПы для преобразования цифровых выходов синтезированного звука в аналоговые уровни
- DMA для выборки DPCM-семплов
- небольшой DMA-контроллер
- низкочастотный осциллятор ("Frame counter")
- делитель входной тактовой частоты
- порты ввода-вывода (которые в NES используются для получения данных с контроллеров)
- отладочные регистры (недоступные в Retail-консолях)
Наличие ЦАП переводит APU в разряд полуаналоговых схем, но для симуляции можно использовать цифровые выходы тональных генераторов.
Также необходимо принимать в расчёт тот факт, что ядро 6502, входящее в состав APU находится под управлением DMA-контроллера и соответственно является "рядовым" устройством, разделяющим шину с другими устройствами, использующими DMA.