User Tag List

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

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

  1. #1

    Регистрация
    09.04.2009
    Адрес
    Зеленоград
    Сообщений
    449
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    429
    Поблагодарили
    196 сообщений
    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 
Просмотров:	763 
Размер:	42.3 Кб 
ID:	59475
    Нажмите на изображение для увеличения. 

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

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

Название:	Meteor0_1.jpg 
Просмотров:	632 
Размер:	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
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Оспаде, да что же вы мучаетесь с этими атрибутами. сделайте уже нормальный 256x192x8bpp. fpga не дистрофичные, всё что угодно туда влезет. чё на LE-то экономите. вам же их не паять.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  4. #3

    Регистрация
    06.04.2015
    Адрес
    г. Приозерск, Ленинградская обл.
    Сообщений
    299
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    да что же вы мучаетесь с этими атрибутами.
    экран получается в 2раза меньше,чем нормальный 256x192x8bpp,и страница под атрибуты одна всего+совместимость с оригиналом.Правда смутно себе представляю ,как на z80 ,это все добро ,обрабатывать быстро.
    Scorpion ZS-256turbo_Проф ПЗУ27040_Smuc_HDD_PCkeyMause(Scorp)_GS_512+XTR Модем(X-Trade)
    ZX-Evolution rev.С+VDAC+OldGS_512+OpenSMUC+TSFM+TS-conf
    Amiga500 1m+512k
    Schneider EuroPC
    ReVerSE-U16

  5. #4

    Регистрация
    30.11.2016
    Адрес
    г. Москва
    Сообщений
    533
    Спасибо Благодарностей отдано 
    181
    Спасибо Благодарностей получено 
    85
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кто писать-то будет подо все это?

  6. #5

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AndyD Посмотреть сообщение
    экран получается в 2раза меньше,чем нормальный 256x192x8bpp,и страница под атрибуты одна всего+совместимость с оригиналом.Правда смутно себе представляю ,как на z80 ,это все добро ,обрабатывать быстро.
    это всё даже не проблема. главное - нет никаких клешенгов и тупых атрибутов. каждая точка своим цветом. это же и красиво и удобно. а учитывая, что есть весьма дешёвые и жирные плисины, никто не мешает туда засунуть какой-нить мелко блиттер.
    если вам нафиг блиттеры не нужны и вам хочется пихать данные самолично прям в экран, то для чем вы извращаете этот режим? чем тогда стоковый 256на192 не угодил? расширьте его палитру, а остальное не трогайте.
    и ещё не понятно, почему все как огня боятся палитру 888? на моей памяти только 1 клоноавтор сделал полную палитру - Ivan Mak. У остальных вечно какие-то отмазки.
    Последний раз редактировалось Sayman; 21.01.2017 в 11:26.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  7. #6

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,963
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    236 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  8. #7

    Регистрация
    13.12.2007
    Адрес
    Архангельск
    Сообщений
    2,189
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    13 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ynicky Посмотреть сообщение
    преобразование в RGB888
    "Екорный бабай" , когда вы успокоитесь с вашими идеями, посмотрите на SAM COUPE, ALEST 5, SPRINTER
    Ты слыхал как грузится Flyshark ?! нет, совсем не тот, что на дискете...а Flyshark, тот самый блин Flyshark...тот ,что был когда то на кассете...
    zx spectrum 48 issuse 6a, Ленинград-1, zx spectum 128 +2 grey,Пентагон-128, ZXM-Phoenix 5.02 ( assembly)

  9. #8

    Регистрация
    16.08.2005
    Адрес
    Estonia,Tallinn
    Сообщений
    1,131
    Спасибо Благодарностей отдано 
    55
    Спасибо Благодарностей получено 
    257
    Поблагодарили
    195 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    под атрибуты написано много софта. избавиться от них врядли получится, мне в zxpoly когда разрабатывал видеорежимы то понравился режим когда атрибуты с 4х экранов ложатся шахматкой, получается 512x384 и при этом в 8 на 8 можно играться с цветами и миксовать и совместимость со старым софтом сохраняется что недоступно тому же spec256 который только красит

  10. #9

    Регистрация
    15.02.2015
    Адрес
    г. Могилёв, Беларусь
    Сообщений
    928
    Спасибо Благодарностей отдано 
    15
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    73 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я размышлял на одном спектрумистском чате :
    <small> Сильно, много 4 байта на атрибуты блока. Надо было байт на инк и байт на папер.
    <small> Два байта на атрибуты блока. Старший бит яркость, семь младших цвета как у сэмкупа.
    <small> Размещать расширенные атрибуты в теневом экране в адресах стандартного экрана.
    <small> Переключение экран/атрибуты через порт.
    ¡Un momento, señor fiscal!


  11. #10

    Регистрация
    09.04.2009
    Адрес
    Зеленоград
    Сообщений
    449
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    429
    Поблагодарили
    196 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    При уменьшении атрибутов блока до 1 байта как на INK, так и на PAPER, резко ухудшается качество изображения.
    На картинках слева направо RGB888 RGB565 RGB332:
    Нажмите на изображение для увеличения. 

Название:	PARROT256_3.jpg 
Просмотров:	487 
Размер:	72.8 Кб 
ID:	59499
    Нажмите на изображение для увеличения. 

Название:	Meteor0_3.jpg 
Просмотров:	531 
Размер:	54.6 Кб 
ID:	59498
    Нажмите на изображение для увеличения. 

Название:	Exolon1_3.jpg 
Просмотров:	492 
Размер:	41.1 Кб 
ID:	59497
    Нажмите на изображение для увеличения. 

Название:	car0_3.jpg 
Просмотров:	535 
Размер:	63.5 Кб 
ID:	59496
    Нажмите на изображение для увеличения. 

Название:	BUTFLA284_3.jpg 
Просмотров:	413 
Размер:	79.9 Кб 
ID:	59495
    Нажмите на изображение для увеличения. 

Название:	apple0_3.jpg 
Просмотров:	459 
Размер:	71.7 Кб 
ID:	59494

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

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

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

Эту тему просматривают: 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

Ваши права

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