User Tag List

Page 1 of 11 12345 ... LastLast
Results 1 to 10 of 101

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

  1. #1
    Activist
    Join Date
    9th April 2009
    Location
    Зеленоград
    Posts
    387
    Thanks Thanks Given 
    84
    Thanks Thanks Received 
    314
    Thanked in
    162 Posts
    Mentioned
    35 Post(s)
    Tagged
    0 Thread(s)

    Default Новый формат графического изображения для 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):
    Click image for larger version. 

Name:	PARROT24_3.jpg 
Views:	650 
Size:	42.3 KB 
ID:	59475
    Click image for larger version. 

Name:	Exolon1_1.jpg 
Views:	722 
Size:	65.8 KB 
ID:	59476
    Click image for larger version. 

Name:	BUTFLA320_1.jpg 
Views:	647 
Size:	51.0 KB 
ID:	59477
    Click image for larger version. 

Name:	Meteor0_1.jpg 
Views:	533 
Size:	36.0 KB 
ID:	59478

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

    P.S. На авторские права не претендую.
    Данный формат можно использовать где угодно и кем угодно.
    Last edited by Ynicky; 31st January 2017 at 19:46.

  2. #1
    Sponsor Advertiser's Avatar
    Join Date
    6th June 2016
    Location
    г. Москва
    Posts
    59
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Guru Sayman's Avatar
    Join Date
    16th February 2006
    Location
    Новосибирск
    Posts
    3,139
    Thanks Thanks Given 
    9
    Thanks Thanks Received 
    48
    Thanked in
    32 Posts
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    Default

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

  4. #3
    Activist
    Join Date
    6th April 2015
    Location
    г. Приозерск, Ленинградская обл.
    Posts
    299
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Default

    Quote Originally Posted by Sayman View Post
    да что же вы мучаетесь с этими атрибутами.
    экран получается в 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
    Activist
    Join Date
    30th November 2016
    Location
    г. Москва
    Posts
    292
    Thanks Thanks Given 
    33
    Thanks Thanks Received 
    15
    Thanked in
    12 Posts
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Default

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

  6. #5
    Guru Sayman's Avatar
    Join Date
    16th February 2006
    Location
    Новосибирск
    Posts
    3,139
    Thanks Thanks Given 
    9
    Thanks Thanks Received 
    48
    Thanked in
    32 Posts
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    Default

    Quote Originally Posted by AndyD View Post
    экран получается в 2раза меньше,чем нормальный 256x192x8bpp,и страница под атрибуты одна всего+совместимость с оригиналом.Правда смутно себе представляю ,как на z80 ,это все добро ,обрабатывать быстро.
    это всё даже не проблема. главное - нет никаких клешенгов и тупых атрибутов. каждая точка своим цветом. это же и красиво и удобно. а учитывая, что есть весьма дешёвые и жирные плисины, никто не мешает туда засунуть какой-нить мелко блиттер.
    если вам нафиг блиттеры не нужны и вам хочется пихать данные самолично прям в экран, то для чем вы извращаете этот режим? чем тогда стоковый 256на192 не угодил? расширьте его палитру, а остальное не трогайте.
    и ещё не понятно, почему все как огня боятся палитру 888? на моей памяти только 1 клоноавтор сделал полную палитру - Ivan Mak. У остальных вечно какие-то отмазки.
    Last edited by Sayman; 21st January 2017 at 11:26.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...

  7. #6
    Guru Lethargeek's Avatar
    Join Date
    8th September 2005
    Location
    Воронеж
    Posts
    3,594
    Blog Entries
    3
    Thanks Thanks Given 
    156
    Thanks Thanks Received 
    110
    Thanked in
    94 Posts
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    Default

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

  8. #7
    Guru Totem's Avatar
    Join Date
    13th December 2007
    Location
    Архангельск
    Posts
    2,168
    Blog Entries
    1
    Thanks Thanks Given 
    3
    Thanks Thanks Received 
    11
    Thanked in
    11 Posts
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    Default

    Quote Originally Posted by Ynicky View Post
    преобразование в 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
    Master Raydac's Avatar
    Join Date
    16th August 2005
    Location
    Estonia,Tallinn
    Posts
    909
    Thanks Thanks Given 
    20
    Thanks Thanks Received 
    89
    Thanked in
    70 Posts
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    Default

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

  10. #9
    Master
    Join Date
    15th February 2015
    Location
    г. Могилёв, Беларусь
    Posts
    515
    Thanks Thanks Given 
    3
    Thanks Thanks Received 
    20
    Thanked in
    16 Posts
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Default

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


  11. #10
    Activist
    Join Date
    9th April 2009
    Location
    Зеленоград
    Posts
    387
    Thanks Thanks Given 
    84
    Thanks Thanks Received 
    314
    Thanked in
    162 Posts
    Mentioned
    35 Post(s)
    Tagged
    0 Thread(s)

    Default

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

Name:	PARROT256_3.jpg 
Views:	390 
Size:	72.8 KB 
ID:	59499
    Click image for larger version. 

Name:	Meteor0_3.jpg 
Views:	434 
Size:	54.6 KB 
ID:	59498
    Click image for larger version. 

Name:	Exolon1_3.jpg 
Views:	386 
Size:	41.1 KB 
ID:	59497
    Click image for larger version. 

Name:	car0_3.jpg 
Views:	418 
Size:	63.5 KB 
ID:	59496
    Click image for larger version. 

Name:	BUTFLA284_3.jpg 
Views:	319 
Size:	79.9 KB 
ID:	59495
    Click image for larger version. 

Name:	apple0_3.jpg 
Views:	359 
Size:	71.7 KB 
ID:	59494

Page 1 of 11 12345 ... LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Новый, более эффективный кассетный формат
    By Barmaley_m in forum Программирование
    Replies: 312
    Last Post: 11th August 2018, 18:21
  2. Replies: 22
    Last Post: 23rd April 2012, 15:34
  3. Продаж картриджи для Денди и совместимых
    By djvini in forum Барахолка (архив)
    Replies: 27
    Last Post: 5th April 2012, 23:20
  4. Replies: 2
    Last Post: 26th February 2005, 18:17

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •