да как вас самих от таких идей на изнанку не выворачивает. всё хотите "антиклешинг" какой то создать или что? делайте нормальный режим. атрибуты пусть в 128м остаются.под атрибуты написано много софта.
да как вас самих от таких идей на изнанку не выворачивает. всё хотите "антиклешинг" какой то создать или что? делайте нормальный режим. атрибуты пусть в 128м остаются.под атрибуты написано много софта.
а при размытии (методом флойд-стейнберга, например) качество подтягивается к лучшему
и раз уж начал резать атрибут знакоместа, так не останавливайся уже, на все 64 части его дели
тогда выйдет что-то наподобие этой схемы:
http://zx-pk.ru/threads/21462-bystra...l=1#post869225
http://zx-pk.ru/threads/21462-bystra...ht=#post870718
Прихожу без разрешения, сею смерть и разрушение...
Ближайшим соседом - да, а флойдом будет очень неплохо. Я сам экспериментировал с 256х192х8 бит на точку в виде RGB323 и RGB332, последнее лучше получается. А для игр и программ тем более нормально. Правда, со скоростью засада.
У вас тоже со скоростью засада - крутить столько атрибутов тоже не быстро. А если использовать ускоритель, то можно и без атрибутов, сразу 8 бит прямо RGB332 или через палитру, так даже копир будет проще - копировать надо только одну область.
Короче, моё предложение: Атрибуты - байт на инк и байт на папер для области 4x4 пикселя. Расширенные атрибуты в теневой страницы по адресам графического экрана спектрума. Переключение страниц через порт. Для расширения цвета палитра в 256 шестнадцатибитных цветов( например, сделать отображаемой на память через управляющий регистр как в тсконфе).
Расширенные атрибуты в теневой странице могут адресоваться по следующим схемам:
010|бит переключения байта инк/папер|6 бит для номера ряда знакомест| 6 бит для номера столбца знакомест.
При такой схеме адресации адресное пространство атрибутов делится на две области. Одна область для байт инк( или папер по выбору), другая для байт папер( или инк по выбору). Выбор областей для инк или папер можно делать через управляющий регистр.
010|6 бит для номера ряда знакомест| 6 бит для номера столбца знакомест|бит переключения байта инк/папер
6 бит для номера столбца знакоместа + бит переключения байта инк/папер = 7 бит для слошной нумерации столбцов знакомест(0, 2, 4, ... - инк(папер), 1, 3 , 5, ... - папер(инк)). Выбор порядка следования инк старший или инк младший можно делать через управляющий регистр.
При такой адресации байты атрибутов идут линейно подряд.
И того - графическая информация 6144 байта, расширенный атрибуты 6144 байта. ОбЪём данных не превышает объёма данных для аппаратного мультиколора, но при этом клешинг частично устраняется немного сбалансированней чем у мультиколора.
Вот как решил вопрос с палитрой тэсэлыч:
Q: Как загрузить палитру?
А: Поскольку палитра хранится во внутренней памяти FPGA, надо включить отображение оной на память процессора. Для этого надо записать в регистр FMAddr (0x15AF) значение 0001bbbb, где bbbb - 4 старших бита адреса, куда мапится массив палитры, а 1 - разрешение записи. Например: значение 0х18 откроет палитру на запись с адреса 0х8000, а 0х10 - с 0х0000. После записи палитры в FMAddr надо записать 0 для отключения маппинга.
Палитра работает ТОЛЬКО на запись. Чтение из выбранной памяти равносильно чтению из ПЗУ/ОЗУ, которое там находится.
Надо посмотреть как выглядят 256 цветные изображения с учётом палитры.
Последний раз редактировалось Smalovsky; 22.01.2017 в 21:43.
¡Un momento, señor fiscal!
AzAtom, ты ничего не знаешь о палитре VGA или BMP для 256 цветов?
Почитай, разберись.
¡Un momento, señor fiscal!
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Smalovsky, знаю, конечно. И там нет никаких атрибутов. Там число в пикселе является номером цвета в палитре. А ты пишешь, что есть атрибуты и ещё Для расширения цвета палитра в 256 шестнадцатибитных цветов
А у спектрума атрибут и есть по сути палитра, только для 8х8 пикселей и цветов мало. Потому и спрашиваю.
- - - Добавлено - - -
Кстати, кто-то пробовал стандартный атрибут переделать из FBIIIPPP в RGB IIIIPPPP, оставив те же знакоместа? Ведь, по сути, мерцание применяется очень редко, мало кому оно нужно.
AzAtom, ну дык байт для инк или папер тоже является номером цвета в палитре, которая хранится в памяти фпга. Чего непонятного? Новые атрибуты в теневой странице кодируются как байт для инк и байт для папер. Палитра для палитры это ещё как понять область управляющей информации(однобитный цвет или выбор инк|папер).
Жалко что человек удалил сообщение. Я хотел написать что дальше.
Последний раз редактировалось Smalovsky; 22.01.2017 в 22:40.
¡Un momento, señor fiscal!
Не совсем понятно, зачем городить огород. Автор темы уже предложил по 16 бит на инк и 16 бит на папер. По количеству цветов будет как у тебя. Правда, объём атрибутов будет в 2 раза больше, надо будет ещё одну теневую область подключать. Да, есть над чем подумать.
Хотя, лично моё мнение, хватит 8 бит атрибута на инк и 8 бит на папер без расширения палитрой. Просто преобразовать прямо RGB332.
AzAtom, палитра для атрибутов это не ноу-хау. Например, палитра для цветов атрибутов используется в ulaplus. Есть поддержка в эмуляторе.
https://sites.google.com/site/ulaplus/home
Такая технология имеет большой плюс - палитровые эффекты. Например, что бы сделать эффект плавного затемнения для моей программной модели нужно периодически переписать 512 байт для палитры(256x2). Это лучше, чем периодически перелопачивать 12 кб атрибутов как предполагается в оригинале.
¡Un momento, señor fiscal!
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)