Подрежимы вывода графической адресации

Как было указано, страницы #50..#5F являются графическими. Адрес данных видео-ОЗУ, а так же основного ОЗУ в графической адресации зависит от порта RGADR (PORT_Y), и при установке любого значения из диапазона #50..#5F не меняется. Это используется для введения дополнительных подрежимов вывода, которые используются для ускорения работы со спрайтовой графикой, а так же для удобства программирования в некоторых иных случаях.

Два подрежима задается 2-м и 3-м битами номера страницы из #50..#5F.

Бит 3 отвечает за разрешение записи байта #FF. Если при выводе на экран использовать страницy #58..#5F, то в процессе записи проверятся, не равен ли записываемый байт значению #FF. Если равен, то запись не производится.

Этот режим можно использовать для вывода спрайтов с «прозрачным» цветом (прозрачный цвет #FF). Фигурный спрайт выводится как прямоугольник, а все точки, которые не принадлежат спрайту в этом прямоугольнике записаны байтами #FF.

Бит 2 отвечает за разрешение записи в основное ОЗУ параллельно с видео. Если при выводе использо- вать страницы #54..#57 или #5C..#5F, то вывод будет осуществляться только в видео-ОЗУ. В основном останутся те данные, которые были записаны туда ранее.

Этот режим используется для временного вывода на экран, например для вывода курсора мыши без необходимости запоминания данных под курсором. Они остаются в основном ОЗУ.

Как видно, биты 2 и 3 действуют независимо. Это позволяет комбинировать оба подрежима так как необходимо программисту.

ВНИМАНИЕ! При программировании вывода на графический экран стоит придерживаться правила, что в биты 0 и 1 номера страницы записываются нули. Это позволит в будущем беспрепятственно использовать эти программы в конфигурациях, где эти биты будут выполнять новые дополнительные функции.