тк даже официальная документация не может раз и на всегда определиться как декодировать младший бит синего цвета при натягивании 2 битного номера цвета на 3-х битный ЦАП
предлагаю в этой теме собрать список реализаций палитры ula plus
и их особенностей
сейчас известно как минимум 100500 вариантов 4-х уровней синего канала
и одна реализация с ограничениями вызванными аппаратной частью
такая как ULA PLUS для ZX EVO
сортировка по типу
официальная спецификация
0257 - ранний или ошибочный вариант
0347 - ULA PLUS Version 1.0
0357 - ULA PLUS Version 1.1
редакторы\конвертеры
0246 - ZX-Paintbrush 2.2 (как минимум по 2.6.4)
0257 ~ CULA64 v5 (линейный синий канал не соответствующий шкалам G и R)
железные реализации
0247 - ULAplus для LENINGRAD-2010 (уточнить)
сортировка по вариантам интерпретации (синим официальная спецификация)
0246 - ZX-Paintbrush 2.2 (как минимум по 2.6.4)
0247 - ULAplus для LENINGRAD-2010 (уточнить)
0257 - ранний или ошибочный вариант
0257 ~ CULA64 v5 (линейный синий канал не соответствующий шкалам G и R)
0347 - ULA PLUS Version 1.0
0357 - ULA PLUS Version 1.1
хронологическая сортировка (синим официальная спецификация)
2009.09.23 17:18 - 0257 - ранний или ошибочный вариант
2009.09.24 13:10 - 0347 - ULA PLUS Version 1.0
2011.12.11 14:34 - 0247 - ULAplus для LENINGRAD-2010
2012.05.15 22:38 - 0246 - ZX-Paintbrush 2.2 (как минимум по 2.6.4)
2014.07.08 14:30 - 0357 - ULA PLUS Version 1.1
описание каждой версии
ранний или ошибочный вариант
The high bit is duplicated (Bb becomes BbB)
b0 = 000 = 0
b1 = 010 = 2
b2 = 101 = 5
b3 = 111 = 7
0*2**5*7
как минимум существует
с 2009 September 23 17:18
по 2009 September 24 13:08
источники
https://scratchpad.fandom.com/wiki/Z...e?oldid=440783
ULA PLUS Version 1.0
The low bit is duplicated (Bb becomes Bbb)
b0 = 000 = 0
b1 = 011 = 3
b2 = 100 = 4
b3 = 111 = 7
0**34**7
как минимум существует
c 2009 September 24 13:10
по 2014 July 8 14:30
поддержан в эмуляторах
SpecEmu 2.9
источники
https://scratchpad.fandom.com/wiki/Z...e?oldid=440950
тут же описание не меняется и в 2015 May 22 23:42 и в 2020-м когда уже есть версия 1.1
https://scratchpad.fandom.com/wiki/Z...?oldid=1734017
https://faqwiki.zxnet.co.uk/w/index....LAplus&oldid=8
ULA PLUS Version 1.1 (как минимум по 1.1e включительно)
The missing lowest blue bit is set to OR of the other two blue bits (Bb becomes 000 for 00, and Bb1 for anything else)
b0 = 000 = 0
b1 = 011 = 3
b2 = 101 = 5
b3 = 111 = 7
0**3*5*7
исправлено чтобы можно было передавать цвета стандартной палитры спектрума
It also means the standard palette can now be represented by the ULAplus palette
при этом палитра перестала "синить" а стала "желтить"
и потерялась обратная совместимость на которую нужно молиться!
как минимум существует
c 2014 July 8 14:30
источники
https://faqwiki.zxnet.co.uk/w/index....lus&oldid=1091
так же остается текущим стандартом на 2020 May 10 13:01
https://faqwiki.zxnet.co.uk/w/index....lus&oldid=2032
https://zxdesign.itch.io/ulaplus
редакторы\конвертеры
CULA64 v5
снято пипеткой
Код:
B 0 85 170 255
R 0 37 74 111 144 181 218 255
G 0 37 74 111 144 181 218 255
считает что синий канал вообще линейный со своей шкалой
что похоже на
b0 = 000 = 0
b1 ~ 010 ~ 2
b2 ~ 101 ~ 5
b3 ~ 111 ~ 7
0*2**5*7
ZX-Paintbrush 2.2 (как минимум по 2.6.4)
снято пипеткой
Код:
B 0 64 128 192
R 0 32 64 96 128 160 192 224
G 0 32 64 96 128 160 192 224
что дает
b0 = 000 = 0
b1 = 010 = 2
b2 = 100 = 4
b3 = 110 = 6
0*2*4*6*
как минимум существует
с 2012.05.15 22:38
железные реализации
ULAplus для LENINGRAD-2010
на вид b0 = (b1 and b2)
требуется уточнение
b0 = 000 = 0 ?
b1 = 010 = 2 ?
b2 = 100 = 4 ?
b3 = 111 = 7 ?
0*2*4**7
как минимум существует
с 2011.12.11 14:34
источник
https://zx-pk.ru/threads/16312-lenin...l=1#post445085
так же требуется уточнение
как 8 и 4 градации яркости переводятся в 7 гигаскринных градаций яркости ZX EVO
где в какой реализации находится палитра для бордюра
для тех кто хочет запилить поддержку улы+ у себя
есть полезная ссылка на эту тему
http://web.archive.org/web/200211191...-%20HOWTO.html