User Tag List

Страница 5 из 10 ПерваяПервая 123456789 ... ПоследняяПоследняя
Показано с 41 по 50 из 100

Тема: Специалист: графика

  1. #41

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,643
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dec Посмотреть сообщение
    Я бы еще предложил хранить в файле и тип палитры
    Весьма резонное дополнение, которое я почему-то упустил из внимания. Действительно, ведь помимо того, что цвета для 8-ми и 5-ти цветных вариантов отличаются, так ещё же есть и Специалист МХ, где можно задавать цвет фона.
    Соответственно, тип можно хранить в виде количества цветов, вернее по номеру последнего цвета, если считать от нуля: 4, 7, 15. В этом случае вторая половина байта будет свободна под будущие нужды.

    А вот где его хранить, вопрос интересный. Тип палитры для отображения нам нужно знать заранее, то есть удобнее хранить его вообще первым байтом. Но очень хочется иметь совместимость и с ч/б вариантом, с размером картинки 12 кб, чтобы просто откинуть информацию о цвете и иметь монохромную картинку. И если в варианте без компрессии всё равно где хранить информацию о палитре, то если всё-таки договориться о том, что по умолчанию можно использовать некоторый вид компрессии, то для просмотра таких картинок на реальном компьютере лучше иметь эту информация в несжатом виде, то есть в самом начале. Но опять же, если использовать сжатие, то лучше иметь разные его варианты, а это потребуется ещё одного байта с информацией о типе компрессии. И если принадлежность к картинке Специалиста у несжатого файла можно будет определять по его длине, то для сжатого файла потребуется какой-то заголовок. Можно, например отдельно сжимать пиксели, а отдельно цвет и потом их параллельно распаковывать при выводе на экран. И, соответственно в заголовке файла хранить области начала данных для пикселей и их цветов. Но, вероятно, всё-таки вариант со сжатием следует оставить для следующих итераций разработки формата. А для начала нужно подумать о несжатом формате.

    В общем, как я предположил выше для совместимости с ч/б информацию о палитре лучше хранить после слепка видеоОЗУ: либо сразу после массива пикселей, либо в самом конце после информации о цвете. И мне кажется, что более логично всё-таки хранить эту информацию до массива данных о цвете, хотя это и лишает нас манёвра для расширения. Можно под возможное расширение и для выравнивание под 16 бит, зарезервировать ещё один байт. То есть вот так:

    0x0000-0x2FFF: Данные о пикселях
    0x3000: Тип палитры - 0x04, 0x07, 0x0F
    0x3001: Резерв - 0x00
    0x3002-0x6001: Данные о цветах
    С уважением, Станислав.

  2. #42

    Регистрация
    19.06.2008
    Адрес
    Киров
    Сообщений
    374
    Спасибо Благодарностей отдано 
    27
    Спасибо Благодарностей получено 
    200
    Поблагодарили
    99 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    0x0000-0x2FFF: Данные о пикселях
    0x3000: Тип палитры - 0x04, 0x07, 0x0F
    0x3001: Резерв - 0x00
    0x3002-0x6001: Данные о цветах
    Добавил сохранение в этот формат в DaDither. Но не для MX, поскольку метод кодирования его атрибутов мне не был объяснен. И не забывайте, что sps-файлы можно смотреть в TotalCommander.
    Последний раз редактировалось Dec; 14.12.2023 в 21:45.

    Этот пользователь поблагодарил Dec за это полезное сообщение:

    CityAceE(14.12.2023)

  3. #43

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,643
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dec Посмотреть сообщение
    Добавил сохранение в этот формат в DaDither.
    Ох, как оперативно! А я как раз продолжил думать и экспериментировать и пришёл к заключению, что всё-таки информацию о типе палитры удобнее размещать последним байтом. То есть вот так:

    0x0000-0x2FFF: Данные о пикселях
    0x3000-0x5FFF: Данные о цветах
    0x3001: Тип палитры - 0x04, 0x07, 0x0F

    Просто в этом случае на реальном компьютере будет быстрее и удобнее переключаться с данных о пикселях на данные о цвете. Если выровнять расположение до 0x100, и расположить адрес в HL, то для переключения будет достаточно прибавлять и отнимать от регистра H 0x30.

    Так что предлагаю всё-таки остановиться именно на этом варианте. И можно будет просить эмуляторописателей поддержать данный формат.

    Цитата Сообщение от Dec Посмотреть сообщение
    Но не для MX, поскольку метод кодирования его атрибутов мне не был объяснен.
    Там тоже всё предельно просто. В одном байте хранится информация о цвете пикселя и цвете фона. Примерно как на Спектруме. Но там яркость не привязана к цвету пикселя и фона - яркость может быть разной. Ну и ещё тёмный чёрный и яркий чёрный отличаются на экране. В верхней половине байта хранится цвет пикселей, а в младшей - цвет фона. А вот так кодируются цвета:


    Цитата Сообщение от Dec Посмотреть сообщение
    И не забывайте, что sps-файлы можно смотреть в TotalCommander.
    Отлично! Спасибо, я не знал про этот плагин. Он для меня будет очень полезен! Как раз думал, что нужно будет что-то подобное сделать.
    С уважением, Станислав.

  4. #44

    Регистрация
    19.06.2008
    Адрес
    Киров
    Сообщений
    374
    Спасибо Благодарностей отдано 
    27
    Спасибо Благодарностей получено 
    200
    Поблагодарили
    99 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    0x0000-0x2FFF: Данные о пикселях
    0x3000-0x5FFF: Данные о цветах
    0x6001: Тип палитры - 0x04, 0x07, 0x0F
    Обновил программу. В теме программы DaDither предлагаются оптимизации для DDp-like изображений.

  5. #45

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    вот так кодируются цвета
    Особенно "коричневый"

  6. #46

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,643
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dec Посмотреть сообщение
    Обновил программу.
    Отлично! Спасибо за оперативность!

    Цитата Сообщение от Dec Посмотреть сообщение
    В теме программы DaDither предлагаются оптимизации для DDp-like изображен1ий.
    Да, предложение по оптимизации дельное! Тогда предлагаю придерживаться следующего соглашения для подобного типа изображений:

    Расширение: *.sps
    Определение типа: по размеру файла 12291 (0x3003) байт.
    Структура файла:

    • 0x0000-0x2FFF: Информация о пикселях (слепок видеоОЗУ)
    • 0x3000: цвет для первой строки триад, начиная с самой верхней на экране.
    • 0x3001: цвет для второй строки триад, начиная со второй сверху на экране.
    • 0x3002: цвет для третьей строки триад, начиная с третьей сверху на экране.


    А что делать с последней строкой, которая является остатком от деления на 3? Понятно, что нужно оставлять её пустой или закрашивать в чёрный цвет. Стоит ли это как-то отдельно упоминать или просто оставить на откуп пользователя?

    Цитата Сообщение от ivagor Посмотреть сообщение
    Особенно "коричневый"
    Да, согласен, что название цветов несколько искажено и мне они тоже глаз режут. Но информацию я предоставил напрямую с сайта fifan'а. А откуда он взял именно такие названия мне неизвестно, явно ведь не сам придумал.
    С уважением, Станислав.

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

  8. #47

    Регистрация
    19.06.2008
    Адрес
    Киров
    Сообщений
    374
    Спасибо Благодарностей отдано 
    27
    Спасибо Благодарностей получено 
    200
    Поблагодарили
    99 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    предлагаю придерживаться следующего соглашения для подобного типа изображений
    Без байта типа палитры?

  9. #48

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,643
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dec Посмотреть сообщение
    Без байта типа палитры?
    Хм... Резонный вопрос. Что-то я снова упустил этот момент. А он-то ведь тоже нужен и здесь тоже! Тогда по аналогии с предыдущим форматом предлагаю поместить его в самый конец:

    Расширение: *.sps
    Определение типа: по размеру файла 12292 (0x3004) байт.
    Структура файла:
    • 0x0000-0x2FFF: Информация о пикселях (слепок видеоОЗУ)
    • 0x3000: цвет для первой строки триад, начиная с самой верхней на экране.
    • 0x3001: цвет для второй строки триад, начиная со второй сверху на экране.
    • 0x3002: цвет для третьей строки триад, начиная с третьей сверху на экране.
    • 0x3003: тип палитры - 0x04, 0x07 или 0x0F
    С уважением, Станислав.

  10. #49

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Что касается коричневого, то дело не в названии.
    1. Если посмотреть схему видеовыхода MX, то при подключении к нормальному среднестатистическому ТВ коричневый там не получится (а получится желтый или темно-желтый).
    Единственное предположение, откуда он пошел исторически - у автора MXа был соответствующий монитор CGA. Можно за него порадоваться и перейти ко второму пункту.
    2. ПО, в котором точно нужен и используется коричневый - оно существует? Желтый (или темно-желтый) используется по крайней мере в портах игрушек с компов, где он был (в отличие от коричневого).
    3. Современные эмуляторы Emu и Emu80 не пришли к единой палитре для MX и заметно отличаются по светлым оттенкам цветов, но коричневого нет ни в одном ни в другом.
    Последний раз редактировалось ivagor; 15.12.2023 в 10:40.

  11. #50

    Регистрация
    19.06.2008
    Адрес
    Киров
    Сообщений
    374
    Спасибо Благодарностей отдано 
    27
    Спасибо Благодарностей получено 
    200
    Поблагодарили
    99 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обновил DaDither и плагин. Теперь всё сохраняется по спецификациям. Нужно тестировать, особенно режим 16 цветов. Поскольку определенности с палитрой нет, то использовал ту палитру, что была ранее. Если будут уточнения по цветам - пишите, буду править.

    Этот пользователь поблагодарил Dec за это полезное сообщение:

    CityAceE(15.12.2023)

Страница 5 из 10 ПерваяПервая 123456789 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Испанская графика
    от Rindex в разделе Графика
    Ответов: 2
    Последнее: 05.02.2015, 16:44
  2. Графика Cyclone и T.L.L.
    от Destr в разделе Графика
    Ответов: 7
    Последнее: 12.07.2011, 12:38
  3. Графика из Adventurer 1-7
    от moroz1999 в разделе Графика
    Ответов: 1
    Последнее: 21.01.2011, 05:19

Ваши права

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