Начну с ответа на простой вопрос, на который я знаю ответ...
Ссылки:
Основная страница -- http://sites.google.com/site/ulaplus/
Описание работы -- http://scratchpad.wikia.com/wiki/ZX_...64_Colour_Mode
Пример использования палитры -- http://sites.google.com/site/ulaplus...attredirects=0
Описание формирования цвета в палитре MSX screen 8 -- http://map.grauw.nl/articles/vdp_guide.php#screen8col
Тема на форуме про палитру 256 цветов и конвертацию с MSX -- http://zx.pk.ru/showthread.php?t=4767
Перекрашенные игры -- http://sites.google.com/site/ulaplus/
Понятного описания нет - вот что понял я. Краткое пояснение работы палитры:
К Ленинграду добавляется два порта - один только на запись (0xBF3B), другой на запись и на чтение (0xFF3B).
Первый порт предназначен для загрузки адреса байта при записи в ОЗУ палитры и выбора режима работы. Числа от 0 (00000000) до 63 (00111111), записанные в этот порт указывают адрес байта в ОЗУ палитры. После записи в первый порт числа 64 (01000000) - можно управлять включением/выключением палитры через второй порт - если при этом записать во второй порт число 1 (00000001), то палитра включается, если записать 0 (00000000) - палитра отключается.
Через второй порт можно записывать данные палитры в ОЗУ палитры и считывать обратно из ОЗУ палитры в Z80. Также этот порт используется для включения и выключения палитры.
После сброса палитра отключена. В регистры палитры можно записывать данные даже если палитра в отключенном состоянии, то есть когда на экране Ленинграда стандартные 15 цветов.
Палитра позволяет заменить цвет, задаваемые комбинацией байта атрибутов и бита черно-белого изображения (по схеме INFV) на один из 256 оттенков.
В ОЗУ используется 64 байта. Такое количество цветов может быть одновременно на экране.
Преобразование по таблице происходит так. Код цвета из Ленинграда преобразовывается в адрес ОЗУ палитры. Этот адрес подается на ОЗУ палитры , данные из ОЗУ по этому адресу считываются, преобразовываются в 9 бит и записываются в регистр. После регистра схема на резисторах преобразовывает каждые три бита цвета в один из 8 уровней сигнала от 0 до 0.7 В c шагом 0.1 В.
Адрес для считывания из ОЗУ палитры получается так:
PA5 = FLASH (бит D7 байта атрибутов)
PA4 = BRIGHT (бит D6 байта атрибутов)
PA3 = /INFV (бит черно-белого изображения с инверсией, 0 соответствует цвету INK для отображаемой точки, 1 - цвету PAPER)
PA2 = G (9-D36)
PA1 = R (7-D36)
PA0 = B (4-D36)
Во время отображения BORDER-a биты адреса PA5-PA3 должны быть 001
Байт в ОЗУ палитры кодирует цвет точки:
Bits 0-1: Blue intensity.
Bits 2-4: Red intensity.
Bits 5-7: Green intensity.
На зеленый и красный цвет выделено по три бита, на синий - 2 бита:
G2=PD7
G1=PD6
G0=PD5
R2=PD4
R1=PD3
R0=PD2
B2=PD1
B1=PD0
Интенсивность синего цвета человек плохо различает, поэтому на синий выделено 2 бита, бит 0 высчитывается математически:
B0=P0 (однако в палитре MSX screen 0 B0=PD1 & PD0)
Цвета MSX предпочтительнее, так как может пригодиться программное обеспечения для конвертации изображений (http://zx.pk.ru/showpost.php?p=120793&postcount=114).
Чтобы перекрасить игру не требуется ее взламывать, только загрузчик ... изменить. Нужно добавить загрузку файла палитры (64 байта) и включить палитру.
При использовании этой палитры вместо стандартных 15 цветов Спектрума получится, в старых играх, тоже 15 цветов, но другого оттенка из палитры 256 цветов. В новых программах количество используемых цветов может быть увеличено до 32 за счет использования бита FLASH в байте атрибутов.
Сравнение палитр ULAplus и SAM COUPLE -- http://zx.pk.ru/showpost.php?p=447392&postcount=1052
...
С ответом на вопросы, когда будут готовы платы KEYB&SINC и LENINGRAD-2012 сложнее.
Работа затянулась. Хочется сделать сразу все и много...
"Желтый" Ленинград не выдержал экспериментов с МГТФ-ом. Сейчас продолжается отладка отдельных узлов на "синем" Ленинграде...





Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
