amixgris wrote:нельзя ли поменять местами адреса регистров DMACtrl и DMANum?
Можно, но надо чтоб Баддер синхронно переделал в ВЦ. Алсо, потянется и адрес статуса.
amixgris wrote: и что он умеет (логические операции над источниками и приёмником)
Нет. Блиттер как блиттер не реализован. Просто есть возможность для ДМА работать прямоугольными кусками тупо на пересылку. Объясню зачем.
1. Почему не нужен блиттер.
Вся графика построена на слоях с прозрачностью. Этих слоев буквально до жопы. Щитаем: 2 слоя тайлов, 3 слоя спрайтов, причем спрайтовые слои ведь состоят из спрайтов, которые рисуются поверх друг друга (чем больше номер спрайта, тем он сверху).
Т.е. необходимость в масочных операциях отсутствует в принципе. Оры, ксоры и прочее - также не вижу в них особой нужды.
2. Почему нужна блочная ДМА.
Потому что ВСЯ адресация массивов приведена к границе параграфа 256 либо 512 байт. Это: графика основных режимов, в т.ч. текстмод (128 байт символов + 128 атрибутов), графика для спрайтов тайлов (256 байт в строке), карты тайлов (128 байт для плоскости0 + 128 для плоскости1).
Т.е. такой дмой удобно гонять как куски карты тайлов, так и куски графики в 256с например. Кстати, тут пришла мысль, что 6912 тоже вполне можно гонять по 256 байт. =)