Вернуться на ГЛАВНУЮ страницу

Палитра 16 цветов одновременно из 4096 (против 16 из 64 стандартно)

Гениальная по своей простоте доработка:

Предлагается для обсуждения вариант палитры совместимый с палитрой АТМ2 (Turbo2+), но расширенный до четырёх бит на компоненту (всего 4096 комбинаций/цветов).
В первую очередь это ориентированно на компьютеры имеющие режим "цвет на точку"(16C) (Pentagon1024SL22), но может использоваться и в других компьютерах в обычном ZX-режиме.


Как происходит программирование цвета в АТМ2?

Порт палитры "висит" на том же адресе, что и системный регистр BetaDiskInterface (#FF). Запись в его разрешается одним из битов системного порта АТМ (сигнал PEN2 порта #77).
Номер цвета, предназначенного для программирования, выставляется на бордюр. АТМ2 имеет 16 цветов бордюра. "Четвертый" бит - это инверсный сигнал A3. Т.о. для установки номеров 0..7 записываем это число в порт #FE, а для записи номеров 8..15 записываем номер-8 в порт #F6.
Пока на экране отображается бордюр, программируем через порт #FF значения компонент для выставленного номера цвета (удобно/логично это делать сразу после прерывания).
Значение битов порта #FF для АТМ2:
 D7  D6  D5  D4  D3  D2  D1  D0
 g  r  b  G  1  1  R  B


b r g и B R G соответственно младшие и старшие биты значений для компонент (2 бита на компоненту и 64 возможных комбинаций трёх компонент) (Значения инверсны!)

Больше цветов!

Идея расширения палитры состоит в использовании старших битов адреса порта #xxFF для дополнительных бит компонент.
Это будет выглядеть так:
A15 A14 A13 A12 A11 A10  A9  A8
 G0  R0  B0  G1  1  1  R1  B1
     
 D7  D6  D5  D4  D3  D2  D1  D0
 G2  R2  B2  G3  1  1  R3  B3


Т.е. например, G0 - самый младший бит зелёной компоненты, а G3 - самый старший. (Значения инверсны!)


Пример.

Был доработан Pentagon1024SL2.2 по следующей схеме:

(Штатные R42..R47 и VD17..VD19 удалены)
ЛА2 - выборка порта #FF (пока сделано так, что порт палитры находится в области открытых портов)
ТМ2 - "четвёртый" бит бордюра (BRIGHT на бордюре в Z-состоянии)
Одна из проблем - как добыть сигнал гашения (BLANK) из ПЛИС. Предлагается два варианта:
1) Если нет проблем при работе TR-DOS в режиме турбо, то для BLANK можно задействовать вывод 15 DD3.
2) Если использовать внешний генератор(делитель) для тактовой частоты AY/YM (сигнал X2), то для BLANK можно задействовать вывод 45 DD3.

(C) Информация взята с сайта http://realddp.narod.ru