PDA

Просмотр полной версии : ULA PLUS или плодим стандарты



NEO SPECTRUMAN
23.11.2020, 04:10
тк даже официальная документация не может раз и на всегда определиться как декодировать младший бит синего цвета при натягивании 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/ZX_Spectrum_64_Colour_RGB_Mode?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/ZX_Spectrum_64_Colour_RGB_Mode?oldid=440950
тут же описание не меняется и в 2015‎ May 22 23:42 и в 2020-м когда уже есть версия 1.1
https://scratchpad.fandom.com/wiki/ZX_Spectrum_64_Colour_RGB_Mode?oldid=1734017
https://faqwiki.zxnet.co.uk/w/index.php?title=ULAplus&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
при этом палитра перестала "синить" а стала "желтить" :v2_dizzy_facepalm:
и потерялась обратная совместимость на которую нужно молиться!

как минимум существует
c 2014 July ‎8 14:30

источники
https://faqwiki.zxnet.co.uk/w/index.php?title=ULAplus&oldid=1091
так же остается текущим стандартом на 2020‎ May 10 13:01
https://faqwiki.zxnet.co.uk/w/index.php?title=ULAplus&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-leningrad-2010-sborka-naladka-rasshirenie.html?p=445085&viewfull=1#post445085



так же требуется уточнение
как 8 и 4 градации яркости переводятся в 7 гигаскринных градаций яркости ZX EVO
где в какой реализации находится палитра для бордюра


для тех кто хочет запилить поддержку улы+ у себя
есть полезная ссылка на эту тему
http://web.archive.org/web/20021119141310/http://radio.weblogs.com/0001263/junk/Q209354%20-%20HOWTO.html

Spectramine
23.11.2020, 09:40
Палитра для бордюра всегда в нулевой CLUT (Bright=0, Flash=0) совпадает с цветами PAPER. Т.е. задается в регистрах цвета 8-15. Других вариантов я не встречал, во всех спецификациях написано так.

Но это всё не новость. Вот то, что из #FF3B можно читать не только цвет для выбранного регистра, но и текущий режим ULAplus, в зависимости от последнего вывода в порт #BF3B, я догадался буквально на днях, благодаря теме на SpectrumComputing. В спецификации это описано неявно: "Reading from port FF3B returns the last data byte written to the currently selected register. This can be used to read back the current palette or determine if palette mode is active." https://zxdesign.itch.io/ulaplus .
Без этого неправильно работает дема https://demozoo.org/productions/271171/, проверяющая таким образом наличие ULAplus.

NEO SPECTRUMAN
23.11.2020, 10:39
written to the currently selected register.
да но на пентеве оно не читает из любого регистра
а вроде можно прочитать только последнее в улу плюс записанное значение



Палитра для бордюра всегда в нулевой CLUT (Bright=0, Flash=0) совпадает с цветами PAPER. Т.е. задается в регистрах цвета 8-15. Других вариантов я не встречал, во всех спецификациях написано так.
речь не про описание а про железные реализации
где ДОЛЖЕН быть бордюр и так известно
а где он есть по факту?

Spectramine
23.11.2020, 10:52
речь не про описание а про железные реализации
где ДОЛЖЕН быть бордюр и так известно
а где он есть по факту?
А с чего ты взял, что по факту бордюр где-то не там, где он должен быть?

NEO SPECTRUMAN
23.11.2020, 11:06
А с чего ты взял, что по факту бордюр где-то не там, где он должен быть?
а с чего ты взял что бордюр по факту там где он должен быть?

посмотрю на 4 варианта интерпретации синего и подумай еще :)

с таким же успехом не соблюдается и рандомное чтение из регистров

- - - Добавлено - - -


А с чего ты взял,
с того что мне не 3 года
и я привык что описания обычно никогда не соответствуют реальности
абсолютно во всем
тем более сомнительные аспекты

Spectramine
23.11.2020, 11:12
а с чего ты взял что бордюр по факту там где он должен быть?

посмотрю на 4 варианта интерпретации синего и подумай еще
4 варианта синего проистекают из-за изменявшейся спецификации. А на бордюр спецификация всегда была четкая. Так что если где-то вдруг цвета бордюра не такие, какие они должны быть по спецификации, это проблемы конкретной реализации, а не стандартов юлаплюс, и вообще не должно рассматриваться.


тем более сомнительные аспектыНу вот цвета бордюра в спецификации юлаплюс никак нельзя отнести к сомнительным аспектам, для них всё четко и ясно.

NEO SPECTRUMAN
23.11.2020, 11:14
Ну вот цвета бордюра в спецификации юлаплюс
а почему тогода в пентевах на запилен полноценный ридбек палитры?
хотя он описан спецификацией

- - - Добавлено - - -


4 варианта синего проистекают из-за изменявшейся спецификации.
угу
который меняли ДО ИЗМЕНЕНИЯ спецификации ВСЕ КОМУ НЕ ЛЕНЬ
спецификацию изменили только в 2014

Spectramine
23.11.2020, 11:16
а почему тогода в пентевах на запилен полноценный ридбек палитры?
хотя он описан спецификацией
А я откуда знаю? Поленились или протупили, или места в прошивке не хватило. В любом случае это проблема пентевы, а не юлаплюс.

NEO SPECTRUMAN
23.11.2020, 11:19
А я откуда знаю? Поленились или протупили, или места в прошивке не хватило. В любом случае это проблема пентевы, а не юлаплюс.
так а тема про разные реализации в железе и эмуляторах
а не ро то как там в свежей версии спецификации прикрутили 256 градаций серого
и написали "а что их там сделать все го лишь нужно убрать цвет из вашего композитного сигнала"... :v2_dizzy_facepalm:
ну а если будет RGB на выходе придется городить отдельный ЦАП для чб
или 8 битные цап-ы на каждую компоненту...
на зато ж в спецификации можно же все что угодно сморозить...

Spectramine
23.11.2020, 11:21
угу
который меняли ДО ИЗМЕНЕНИЯ спецификации ВСЕ КОМУ НЕ ЛЕНЬ
спецификацию изменили только в 2014
Потому что в спецификации изначально не было описано, как формируется младший бит синего, вот и лепили, как кому хотелось.

NEO SPECTRUMAN
23.11.2020, 11:24
Потому что в спецификации изначально не было описано
как минимум с 2009 года описано
weiv ты когда там в жырные тролли заделалсо?

Spectramine
23.11.2020, 11:25
а не ро то как там в свежей версии спецификации прикрутили 256 градаций серого
Уже открутили обратно. "Version 1.1a...This version deprecates grayscale mode and adds the Timex screen mode control register to the SZX palette block."

NEO SPECTRUMAN
23.11.2020, 11:29
Version 1.1
точнее Version 1.1a
в 1.1 как раз его зачем то втулили

ну и слава яйцам! :v2_dizzy_roll:

goodboy
23.11.2020, 12:03
на пентеве оно не читает из любого регистра
а разве у тебя есть пентева ???

NEO SPECTRUMAN
23.11.2020, 12:09
а разве у тебя есть пентева ???
у меня нет
утя есть подтверждение что уже впилено чтение палитры?

в момент запиления оно не читало
но прошло уже много времени...

- - - Добавлено - - -

так же интересно запилен хотябы в одном экземпляре этот ULAplus для LENINGRAD-2010
или он так и остается только схемой?

я подтверждения повторения где либо схемы за 8 лет так нигде и не увидел

zebest
23.11.2020, 23:03
0257 - ранний или ошибочный вариант
0347 - ULA PLUS Version 1.0
0357 - ULA PLUS Version 1.1
0247 - ULAplus для LENINGRAD-2010 (уточнить)

blue turns from B1 B0 into B1, B0, B1 or B0 - это какой будет вариант по твоей спецификации?

NEO SPECTRUMAN
24.11.2020, 02:06
blue turns from B1 B0 into B1, B0, B1 or B0 - это какой будет вариант по твоей спецификации?
000
011
101
111

тот что V1.1

- - - Добавлено - - -

а от куда такое ненагугливаемое описание?

- - - Добавлено - - -


4 варианта синего проистекают из-за изменявшейся спецификации
добавил 5-й известный мне вариант

- - - Добавлено - - -

добавил 6-й вариант