Важная информация

User Tag List

Показано с 1 по 10 из 101

Тема: Новый формат графического изображения для ZX совместимых компьютеров.

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Activist
    Регистрация
    09.04.2009
    Адрес
    Зеленоград
    Сообщений
    449
    Спасибо Благодарностей отдано 
    127
    Спасибо Благодарностей получено 
    427
    Поблагодарили
    195 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Новый формат графического изображения для ZX совместимых компьютеров.

    Молодость моя (начало 90-х) прошла с компьютером ZX-spectrum (уже не помню название клона),
    причем с переделанным цветным телевизором Юность Ц-401 в качестве монитора.
    Ностальгия по тем временам до сих пор не дает покоя.
    Так как по работе иногда приходится иметь дело с видеографикой,
    а так же в качестве хобби занимаюсь разработкой FPGA процессоров и
    компьютеров на них, постоянно сталкиваюсь с проблемой нехватки графический ресурсов.
    Экспериментировал с разными форматами представления изображения,
    занимался аппаратными кодеками и векторными сопроцессорами.
    На плате с FPGA, помимо своих проектов компьютеров, зашиваю и HDL клоны ZX спетрумов.
    На форуме часто вижу предложения по улучшению графики существующих игр на спектруме.
    Экспериментируя с разными принципами сжатия изображения обнаружил один очень подходящий
    способ улучшить изображение спектрума. Суть в следующем.
    Растр 256 х 192 элементов изображения с одним битом на элемент сохраняется,
    а атрибуты знакомест меняются на атрибуты блоков. Знакоместо 8х8 делится на четыре
    блока 4х4. Атрибуты блока представляются четырьмя байтами (2 байта на INK и 2 байта на PAPER)
    в формате RGB565. Формат можно изменить на RGB555 зарезервировав один бит на прозрачность.
    Таким образом объем растра сохранился (0х1800), а объем атрибутов вместо 0х300 стал 0х3000.
    Для непрерывности загрузки экрана я поставил область новых атрибутов в начало перед растром.
    Размер всего изображения стал 0х4800, где первые 0х3000 - область атрибутов блоков,
    а последующие 0х1800 - область растра. В FPGA версиях ZX спектрума изображение нужно загружать
    с адреса 0х1000, чтобы VGA контроллер работал по адресам 0х1000...0х5800. ROM по адресам
    0х0000...0х4000 используется процессором только по чтению. Можно ли новый формат реализовать в
    "железных" клонах - не знаю. Но в видеокартах наверное можно. В эмуляторах - тоже.

    При таком формате изображения конфликт атрибутов уменьшается, хотя не исчезает полностью.
    Зато количество цветов становится 64К для INK и 64К для PAPER при RGB565.
    HDL контроллер VGA на новый формат пока не сделал, чтобы проверить реально. Но написал
    конверторы на Си (в Widows) для преобразования картинок RGB888 в новый формат и обратно.
    Как причешу - выложу. По образованию я радиотехник, а не программист.
    Пока использую расширение файлов нового формата <>.scn. Может надо как-то по другому?
    Не знаю нужна ли шапка у файла нового формата для указания информации об изображении.

    Вот несколько примеров преобразования (слева оригинал RGB888, справа обратное преобразование в RGB888):
    Нажмите на изображение для увеличения. 

Название:	PARROT24_3.jpg 
Просмотров:	701 
Размер:	42.3 Кб 
ID:	59475
    Нажмите на изображение для увеличения. 

Название:	Exolon1_1.jpg 
Просмотров:	777 
Размер:	65.8 Кб 
ID:	59476
    Нажмите на изображение для увеличения. 

Название:	BUTFLA320_1.jpg 
Просмотров:	702 
Размер:	51.0 Кб 
ID:	59477
    Нажмите на изображение для увеличения. 

Название:	Meteor0_1.jpg 
Просмотров:	583 
Размер:	36.0 Кб 
ID:	59478

    Выкладываю программу для Windows (Visual Studio) с преобразованиями из BMP24 в SCN и обратно.
    https://cloud.mail.ru/public/6Lt6/6reBxdpCv
    https://cloud.mail.ru/public/79DU/LAzM1EScC

    P.S. На авторские права не претендую.
    Данный формат можно использовать где угодно и кем угодно.
    Последний раз редактировалось Ynicky; 31.01.2017 в 19:46.

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

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

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

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

Похожие темы

  1. Новый, более эффективный кассетный формат
    от Barmaley_m в разделе Программирование
    Ответов: 312
    Последнее: 11.08.2018, 18:21
  2. Ответов: 22
    Последнее: 23.04.2012, 15:34
  3. Продаж картриджи для Денди и совместимых
    от djvini в разделе Барахолка (архив)
    Ответов: 27
    Последнее: 05.04.2012, 23:20
  4. Ответов: 2
    Последнее: 26.02.2005, 18:17

Ваши права

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