Цитата:
Q: Как устроен TSU?
A: Для работы TSU отведено 1792 такта 28МГц (строка видео). TSU живет исключительно в пределах одной строки изображения и работает в строке, предшествующей той, которая видна в данный момент на экране. Двиг разбит на 2 функциональные части: обработчик объектов (парсер) и рендерер. Парсер последовательно проходит по слоям графики и объектам внутри слоев. Как только парсер готов сформировать задание для рендера (от 1 до 8 тайлов в ряд, с заданной палитрой, координатой, направлением рисования а также, адресом ОЗУ, откуда читать битмап), а рендер - его принять - начинается трах ОЗУ/рисование в буфер оверлея, а обработчик объектов двигается дальше. Рендерер рисует пиксели в буфер, который состоит из 360 байт, и буфер этот накладывается поверх основной графики по маске !=0 в течении отображения строки видео. Формат буфера - биты 4-7 - палитра, биты 0-3 - цвет в палитре, если биты 0-3 == 0, то пиксель в буфере прозрачный. Буферов 2, чтоб чередовать.Все это происходит в фоне относительно Z80, не тормозя его работу. На рисование одного пикселя уходит 1 такт 28МГц, следовательно производительность приближается к 1792 пикселей за строку, за вычетом ожиданий ОЗУ и накладных расходов на парсер, когда рендерер свободен, а задание для него не готово.