User Tag List

Страница 1 из 8 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 77

Тема: ULA++ или новые режимы управления цветами спектрумовского экрана.

  1. #1
    Veteran
    Регистрация
    07.10.2006
    Сообщений
    1,653
    Спасибо Благодарностей отдано 
    245
    Спасибо Благодарностей получено 
    262
    Поблагодарили
    158 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию ULA++ или новые режимы управления цветами спектрумовского экрана.

    Цитата Сообщение от drbars Посмотреть сообщение
    Новый режим управления палитрами экрана (ULANext) окончательно добавлен в спеки на сайте.
    Режим позволяет использовать до 256 цветов одновременно, задавать кастомный формат атрибута варьируя кол-во бит для INK и PAPER через порт управления. Поддерживается Flash мерцание.

    Пример режима с 256 INK.
    Вложение 62104
    Раз пошла такая пьянка, выложу свои старые мысли по поводу расширения ULA. Если сочтёте нужным, доведите их до разработчиков Next.

    Основная идея - задавать программно свою пару цветов INK/PAPER для каждого значения байта атрибута (0..255). Таким образом:
    1) одновременно на экране может отображаться уже не 64 цвета максимум, как в ULA+, а целых 512 (256 возможных атрибутов по 2 цвета в каждом)!
    2) так можно увеличить количество отображаемых цветов в уже написанных играх
    3) соответственно, разрабатывая новые игры, можно делать их гораздо более цветными, при этом сохраняя обратную совместимость с оригинальными машинами, что в варианте ULA+ невозможно, т.к. использование битов FLash/bright приведёт к цветовой какофонии.


    Но это не всё. Мы можем не ограничиваться одной палитрой на 256 атрибутов, а сделать N палитр, в каждой из которых определены свои цвета для каждого атрибута. И сделать возможным их переключение не только программно, но и автоматически, переходя на следующую палитру после вывода строки экрана. Таким образом, мы получаем аппаратный мультиколор в новой ULA, и отображаем уже не 512, а 512*N цветов, где N - количество палитр. Восьми палитр уже достаточно, чтобы делать мультиколорные спрайты и тайлы, а больше может понадобиться только для особо навороченных спецэффектов.

    При этом мы имеем на экране для 8 палитр, автоматически сменяющих друг друга построчно, до 4096 цветов, программно работая всё с тем же 6144 + 768 экраном.


    Для такого режима управления цветами надо предусмотреть возможность пакетного задания цветов для атрибутов (номер определяемого атрибута автоматически инкрементируется после задания цветов).


    Глубина цвета для данного режима обсуждаема, в принципе, можно сделать её программно переключаемой - 12/16/24 бита на цвет, или остановиться на одной.

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

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




    Если кто ещё не понял, в чем суть предлагаемого мной режима.

    Задание пары цветов текущей палитры для некоторого атрибута:
    LD A, значение атрибута (0..255)
    OUT (ПортНомераАтрибута),A
    LD A, цвет INK
    OUT (ПортЗаданияЦвета),A
    LD A, цвет PAPER
    OUT (ПортЗаданияЦвета),A

    Это для глубины цвета в 8 бит, для большей количество выводов в порт задания цвета соответственно увеличивается. Вывод в порт задания цвета автоматически инкрементирует указатель байта в палитре атрибутов, соответственно, можно использовать команды блочного вывода в порт для задания палитры.
    Последний раз редактировалось Spectramine; 29.08.2017 в 13:31.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,841
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    659
    Поблагодарили
    512 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от weiv Посмотреть сообщение
    Основная идея - задавать программно свою пару цветов INK/PAPER для каждого значения байта атрибута (0..255). Таким образом:
    1) одновременно на экране может отображаться уже не 64 цвета максимум, как в ULA+, а целых 512 (256 возможных атрибутов по 2 цвета в каждом)!
    2) так можно увеличить количество отображаемых цветов в уже написанных играх
    Да для статичных картинок это даст 512 цветов на экране
    И в играх с всегда черным(или другим) фоном это прокатит

    но когда нужно будет разнообразие цветов в знакоместе
    во время игрового процесса
    все эти 512 цветов сильно просядут в сторону 64

    +еще нужно будет продумывать а какие комбинации цветов могут получится и уже заняты
    какие комбинации свободные
    нужно будет более жесткое тестирование (а не вылазят ли где то ВНЕЗАПНО артефакты)
    это куча дополнительной головной боли короче


    для уже написанных игр это особо и не даст прибавление цветов (кроме тех что с фоном одного цвета)
    для старых игр лучше использовать обычную улу+

    а в некоторых случаях может оказаться что и палитра АТМ-а будет максимальное что можно применить

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

    Цитата Сообщение от weiv Посмотреть сообщение
    Ещё одна идея пришла в голову. Для некоторых значений атрибутов можно задавать цвета для каждого бита отдельно (16 цветов на байт). Таким образом мы сможем делать отдельные цвет-на-пиксельные участки спрайтов и тайлов.
    напомню что атрибут 8х8
    то есть 64 пикселя
    и это дополнительно 16-48к памяти на такую палитру...
    +32 байт на указание в каком атрибуте включен этот режим
    +усложнение конструкции...
    то есть все опять идет к тому, что все это будет только в эмуляторе

    конечно тоже интересная идея из разряда велосипедов и полезная для написания новых игр но...

    можно даже будет залить экран 18х14 знакомест 144х112
    сплошным 16с\256с\16777216с

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

    Цитата Сообщение от weiv Посмотреть сообщение
    Но это не всё. Мы можем не ограничиваться одной палитрой на 256 атрибутов, а сделать N палитр, в каждой из которых определены свои цвета для каждого атрибута. И сделать возможным их переключение не только программно, но и автоматически, переходя на следующую палитру после вывода строки экрана.
    А это уже из разряда а что бы еще такое придумать и запихнуть.
    скорей дальше эмулятора это не пойдет.
    разрабатывать под это будет...
    при этом толку от такого девайса мало
    пригодится только для игр со спрайтами с дискретностью перемещения в 8 пикселей
    или для создания градиентов на фоне аля Атари 2600
    Последний раз редактировалось NEO SPECTRUMAN; 28.08.2017 в 17:00.

  4. #3
    Master
    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    365
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    лучше всё таки не наплодить стандартов - что большинство выберет то и оставить
    p.s. или наоборот челлендж устроить - "А ты запилил уже ULA (7 плюсов)" ))

  5. #4
    Veteran
    Регистрация
    07.10.2006
    Сообщений
    1,653
    Спасибо Благодарностей отдано 
    245
    Спасибо Благодарностей получено 
    262
    Поблагодарили
    158 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    Да для статичных картинок это даст 512 цветов на экране
    И в играх с всегда черным(или другим) фоном это прокатит

    но когда нужно будет разнообразие цветов в знакоместе
    во время игрового процесса
    все эти 512 цветов сильно просядут в сторону 64
    Разнообразия цветов в знакоместе без смены палитр не будет, будет по-прежнему 2 цвета на знакоместо. Мы только подменяем оригинальные цвета атрибута на свои. Так что в игре с одним фоном скорее будет меньше цветов, чем больше.

    +еще нужно будет продумывать а какие комбинации цветов могут получится и уже заняты
    какие комбинации свободные
    нужно будет более жесткое тестирование (а не вылазят ли где то ВНЕЗАПНО артефакты)
    это куча дополнительной головной боли короче
    Комбинации цветов получатся те, которые мы явно зададим. (Можно для разных атрибутов задать одинаковые пары цветов, например.)
    Какие могут вылезти артефакты? Какая именно дополнительная головная боль?


    для уже написанных игр это особо и не даст прибавление цветов (кроме тех что с фоном одного цвета)
    Да, для написанных игр особо не даст, т.к. большинство написано под один paper с разными ink, соответственно, используемых атрибутов немного. Но всё равно потенциально даст больше цветов, чем ULA+.


    для старых игр лучше использовать обычную улу+
    ULA+ лучше использовать только потому, что это какой-никакой стандарт, поддержанный хотя бы эмуляторами. Но для ZX Spectrum Next ULA+ закрыта.

    А мой вариант -
    1) проще в программировании цветов: не надо заморачиваться с 4 палитрами атрибутов - задаешь явно цвета INK|PAPER для каждого атрибута, и всё. Причем можно задавать их выборочно.
    2) при этом дает больше одновременно цветов на экране даже для старых игр. Количество цветов = количеству используемых игрой атрибутов *2.
    3) с использованием автоматически сменяемых палитр даёт возможность простого программирования мультиколорных игр и эффектов.

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

    Цитата Сообщение от shurik-ua Посмотреть сообщение
    лучше всё таки не наплодить стандартов - что большинство выберет то и оставить
    p.s. или наоборот челлендж устроить - "А ты запилил уже ULA (7 плюсов)" ))
    Дык пока что стандарты в процессе обсуждения, вроде как. Да и я предлагаю не стандарт, а идею. Моё дело - предложить.

  6. #5
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,841
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    659
    Поблагодарили
    512 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от weiv Посмотреть сообщение
    поддержанный хотя бы эмуляторами.
    Он давным давно поддержанный разным железом разной степени "железности"

  7. #6
    Veteran
    Регистрация
    07.10.2006
    Сообщений
    1,653
    Спасибо Благодарностей отдано 
    245
    Спасибо Благодарностей получено 
    262
    Поблагодарили
    158 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение

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

  8. #7
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,841
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    659
    Поблагодарили
    512 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от weiv Посмотреть сообщение
    поддержанный хотя бы эмуляторами.
    Он давным давно поддержанный разным железом разной степени "железности"

    Цитата Сообщение от weiv Посмотреть сообщение
    Комбинации цветов получатся те, которые мы явно зададим. (Можно для разных атрибутов задать одинаковые пары цветов, например.)
    Какие могут вылезти артефакты? Какая именно дополнительная головная боль?
    когда ты выберешь цвет инка для одного спрайта сразу же выпадает целая куча сочетаний которые придется застолбить за этим спрайтом
    ведь он может попасть на любой из цветов paper-а

    а тебе нужна целая куча спрайтов
    и еще нужно выделить свободные для фоновых изображений
    а еще может захотется их менять в каждом уровне

    в конечном итоге ты чтонибудь пропустишь
    и при наступании где нибудь на травинку все знакоместо ВНЕЗАПНО зальется черным...

    ...есное дело это всплывет уже после релиза

  9. #8
    Veteran
    Регистрация
    07.10.2006
    Сообщений
    1,653
    Спасибо Благодарностей отдано 
    245
    Спасибо Благодарностей получено 
    262
    Поблагодарили
    158 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    Он давным давно поддержанный разным железом разной степени "железности"
    Я не в курсе, на WoS форуме в качестве примера привели только Vega, ZX-Uno и TBBlue. Я не против ULA+, какой-никакой, а стандарт, просто сейчас встал вопрос о его вынужденной замене в Next.

  10. #9
    Banned
    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,841
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    659
    Поблагодарили
    512 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от weiv Посмотреть сообщение
    Это идея аппаратного мультиколора без дополнительной экранной области. Если нужен мультиколор - полезная идея. Позволяет освободить проц от манипуляций с экранами и атрибутами для создания мультиколора. Пригодна она для всего, для чего пригоден мультиколор.
    ты предлагаешь 192 палитры?

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

    Цитата Сообщение от weiv Посмотреть сообщение
    Я не в курсе, на WoS форуме в качестве примера привели только Vega, ZX-Uno и TBBlue. Я не против ULA+, какой-никакой, а стандарт, просто сейчас встал вопрос о его вынужденной замене в Next.
    Пентева не?
    http://zx-pk.ru/threads/23825-ulaplus-na-zx-evo.html
    итд
    http://zx-pk.ru/threads/16312-lening...l=1#post445085

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

    Цитата Сообщение от weiv Посмотреть сообщение
    Vega, ZX-Uno и TBBlue.
    У буржуев оно уже все было вжелезе за 10 лет до этих новоделов
    Последний раз редактировалось NEO SPECTRUMAN; 28.08.2017 в 17:33.

  11. #10
    Veteran
    Регистрация
    07.10.2006
    Сообщений
    1,653
    Спасибо Благодарностей отдано 
    245
    Спасибо Благодарностей получено 
    262
    Поблагодарили
    158 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    Он давным давно поддержанный разным железом разной степени "железности"



    когда ты выберешь цвет инка для одного спрайта сразу же выпадает целая куча сочетаний которые придется застолбить за этим спрайтом
    ведь он может попасть на любой из цветов paper-а

    а тебе нужна целая куча спрайтов
    и еще нужно выделить свободные для фоновых изображений
    а еще может захотется их менять в каждом уровне

    в конечном итоге ты чтонибудь пропустишь
    и при наступании где нибудь на травинку все знакоместо ВНЕЗАПНО зальется черным...

    ...есное дело это всплывет уже после релиза
    Для спрайта нельзя выбрать отдельный цвет ink. Вообще нельзя выбрать отдельный цвет ink (и paper). Мы, как и прежде, имеем дело с атрибутами экранной области. Только для каждого значения байта атрибута (0-255) мы можем задать пару цветов ink/paper независимо от других атрибутов. То есть все проблемы атрибутов - клешинг и т.п. остаются теми же. Мы просто расширяем диапазон используемых атрибутами цветов до 512.

Страница 1 из 8 12345 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Игры C64, новые или находящиеся в разработке
    от Aprisobal в разделе Commodore 16/64/128
    Ответов: 15
    Последнее: 02.03.2019, 23:18
  2. PentEvo: Графические режимы конфигурации (TSConf) от TS-Labs
    от breeze в разделе Программирование
    Ответов: 15
    Последнее: 15.06.2013, 13:48
  3. Turbo режимы на ZX-Spectrum'е.
    от Robus в разделе Программирование
    Ответов: 5
    Последнее: 05.11.2012, 19:04
  4. Кворум 128+ Проблема с цветами.
    от Руслан в разделе Кворум
    Ответов: 5
    Последнее: 14.12.2011, 19:17
  5. Как отключать турбо режимы на разных спеках?
    от Evgeny Muchkin в разделе Программирование
    Ответов: 19
    Последнее: 20.05.2007, 03:28

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •