§ Пины
Активных пинов, которые можно использовать, всего несколько.Интерфейсные
- clock — тактовая частота 25 мгц
- reset_n — сброс видеопроцессора при =0
- cmd — строб (из 0 в 1) на активацию работы видеопроцессора
- page — активная экранная страница (0 или 1), куда будет писать данные
- bsy — сигнал занятости модуля, если 1 — модуль выполняет программу из буфера программ
- tx, ty — адрес текстуры (максимум 256 на 256)
- td — входящие данные от памяти текстур
- a — адрес видеопамяти (до 256 кб)
- i,o,w — вход, выход, сигнал записи
§ Принцип работы
Модуль оперирует памятью на 256 Кб, которая разделена на три части:- 00000 — 0FFFF Видеостраница 0, 64Кб
- 10000 — 1FFFF Видеостраница 1, 64Кб
- 20000 — 3FFFF Буфер команд, до 128Кб
CMD
.§ Коды команд
01 LINE (word:x1, word:y1, word:x2, word:y2), byte:color Нарисовать линию (x1,y1)-(x2,y2) с цветом color 02 BLOCK (word:x1, word:y1, word:x2, word:y2), byte:color Не закрашенный блок цветом color 03 BLOCKF (word:x1, word:y1, word:x2, word:y2), byte:color Закрашенный блок 04 POLY (word:x2, word:y2), byte:color Дорисовать предыдущую линию до -(x2,y2) цветом color 05 CIRCLE (word:x, word:y), word:radius, byte:color Рисовать окружность в центре (x,y), радиусом radius, цвет color 06 CIRCLEF(word:x, word:y), word:radius, byte:color Закрашенная окружность 07 BITBLT (byte:tx, byte:ty, byte:tw, byte:th, word:x, word:y, word:w, word:h) Рисовать блок размером (w,h) в точке (x,y) Текстура начинается в текстурном буфере в точке (tx,ty), размер (tw,th) включительно.