Давайте уточним понятия. Тайлами называют квадратные изображение из которых, как из мозаики строится игровое пространство. Тайловая графика -- (http://ru.wikipedia.org/wiki/%D0%A2%...B8%D0%BA%D0%B0)
Спрайтами тогда будем называть изображения для фаз движения подвижных объектов. В предлагаемой видеокарте спрайты отличаются от тайлов только тем, что могут иметь точки с прозрачным цветом.
Для предлагаемой видеокарты особой разницы между спрайтами и тайлами нет. Она их считает просто изображениями - набором из точек. И копирует их одинаковым способом из одной микросхемы SRAM в другую. Оба вида изображений заранее нарисованы и лежат во второй SRAM (памяти спрайтов и тайлов). Первая SRAM содержит два слоя экрана - 1 слой (передний план), на котором располагают спрайты, и 2 слой (задний план), на котором располагают изображение фона из тайлов, полученное копированием тайлов из второй SRAM. Чтобы изобразить фон (игровое поле) копируем несколько типов тайлов в нужные места 2 слоя, составляем его как из плиток. 2 слой весь заполнен соответсвующими тайлами.
Большая часть переднего плана закрашена прозрачным цветом с помощью специального спрайта. А туда, где нужно изобразить подвижные или неподвижные объекты, например, главного героя и его врагов, копируют спрайты этих объектов.
При выводе изображения на TV видеокарта читает из 1 SRAM сначала точку из 1 слоя, а потом из 2 слоя. Потом решает, какую же из них показать. Если в 1 слое цвет точки прозрачный, то показывает на TV точку из 2 слоя, а если нет - из первого.
Эта основная задача видеокарты. На это ей выделяются соответствующие кванты времени. А остальное время видеокарта выполняет задания Z80 по копированию спрайтов и тайлов на 1 и 2 слой. Как видите, большого буфера при выводе на TV не нужно - только на 2 точки.
Спрайты и тайлы могут располаться в памяти видеокарты в произвольных местах 2 SRAM. Для того чтобы указать, что это - спрайт или тайл, то есть, куда его копировать - на 1 слой или второй, можно выделить два адреса в области параметров. При записи номера спрайта/тайла в первый адрес этот спрайт/тайл будет копироваться в первый слой, при записи во второй адрес - копироваться во второй слой.
Для больших возможностей, которые нельзя или сложно изобразить с помощью спрайтов/тайлов, можно предоставить микропроцессору Z80 возможность рисовать линии по точкам в указанных координатах экрана на 1 или 2 слое (http://ru.wikipedia.org/wiki/%D0%A4%...screenshot.png). Для этого также выделить два адреса, куда записывать код цвета точки для соответствующего слоя.





Ответить с цитированием