PDA

Просмотр полной версии : Стандарт на мультиколорные картинки



CityAceE
09.01.2017, 16:18
Благодаря мультиколору Спектрум в статичных картинках может более чем 2 цвета на знакоместо 8*8. Но почему-то по сей день не существует какого-то стандарта на мультиколорные картинки. Есть всякие гигаскрины и прочие вариации, которые требуют аппаратного вмешательства в компьютер. Почему никто не рисует графику высокого цветового разрешения с использованием мультиколора? Я понимаю, что раньше инструментов не было, но сейчас-то, когда можно всё делать на PС и переносить на Спектрум...

Какое вообще максимальное цветовое разрешение можно получить? Реально ли иметь один атрибут чернила+бумага на одну пиксельную линию или тактов не хватит?

zebest
09.01.2017, 16:41
Чем МультиАартист с его файлами не стандарт?

Максагор
15.01.2017, 03:38
Напоминаю, что существуют аж две версии мультиколорного графического редактора MEGA Screen под реальный спектрум. Он выложен на Виртуальном TR-DOS. В файле в качестве примеров приводятся картинки. Их формат вполне можно использовать, ИМХО.

daniel
19.01.2017, 15:25
Реально ли иметь один атрибут чернила+бумага на одну пиксельную линию или тактов не хватит?
не хватит. 4 вроде точки минимум.

Shiny
19.01.2017, 15:52
bmp2scr поддерживает формат .mlt для Timex, тот же формат экрана. Только я думаю, что Спектрум не вытянет вывод.

CityAceE
19.01.2017, 15:56
А ZX128 с его двумя экранами? А в турбо режиме?

Отправлено с моего MI 5 через Tapatalk

Shiny
19.01.2017, 16:13
Авантюра это конечно. у Пентагона 224 такта на линию, если не ошибаюсь.

Быстрее выходит

pop hl
ld ($5800),hl
..
pop hl
ld ($5802),hl

20 тактов на атрибут.

NEO SPECTRUMAN
19.01.2017, 22:26
Реально ли иметь один атрибут чернила+бумага на одну пиксельную линию или тактов не хватит?

не понел вопроса

если имеется в виду можно ли залить одну горизонтальную линию атрибутов за 224т одним определенным цветом то это можно успеть сделать 1.14 раза


Какое вообще максимальное цветовое разрешение можно получить?

если внезапно хочется мультиколор 8х2 по всему экрану
то это без проблем
еще можно будет и на бордюр залезть...


а вот с 8х1 уже начинаются...

для пентагона это(одна строка)
выглядит так



ld sp,nnnn ;10

dup 10
ld hl,nnnn ;10
push hl ;11
edup

nop ;4 остается для других нужд



итого 160(20 знакомест)х192
на резинке и прочих слоупоках с их contented memory
число в ширину будет немного меньше
считать резинковые задержки я не умею...



если на картинке есть пары атрибутов которые повторяются(особенно подряд)
то можно сделать даже шире



ld hl,nnnn ;10
push hl ;11
push hl ;11
push hl ;11

ld hl,nnnn ;10
ld de,nnnn ;10
push hl ;11
push de ;11
push hl ;11
push hl ;11


так же никто не мешает уложить эти 20 знакомест(подряд да и не только подряд если их 18/19) начиная произвольно с любого знакоместа в каждой строке
тем самым сделав эффект как бы полно экранного мультиколора
хотя в гонке с лучом вполне можно и проиграть
даже вроде бы укладываясь по тактам


если много разрывов(например нам захотелось экран шахматкой мультиколор\не мультиколор) то можно гарантировано получить 16 знакомест(мультиколорных) в строке в любой точке
например так


dup 8
ld hl,nnnn ;10
ld (nnnn),hl ;16
edup

nop ;4
nop ;4
nop ;4
nop ;4 и еще даже останется





напомню что нельзя сделать мультиколор внутри одного знакоместа 8x1
как это делается с мультибордером
(хотя на некоторых кривых клонах можно получить дополнительный кусок 9 пикселя на границе знакомест)))))
только нигде это не эмулируется наверное (как всегда...)

еще напомню что для отображение самой мультиколорной картинки
в памяти нужно дополнительно держать еще и столько же кода сколько весят атрибуты этой картинки

считаем
32*192=6144 графика
20*192=3840 атрибуты
24*192=4608 код
итого каких то 14592 байт все это безобразие в итоге скушаит...

DenisGrachev
20.01.2017, 05:04
итого 160(20 знакомест)х192
на резинке и прочих слоупоках с их contented memory
число в ширину будет немного меньше
считать резинковые задержки я не умею...



На резинке уже давно тоже 20:
http://faqwiki.zxnet.co.uk/wiki/BIFROST*2_Engine

Shiny
20.01.2017, 07:55
для пентагона это(одна строка)
выглядит так



ld sp,nnnn ;10

dup 10
ld hl,nnnn ;10
push hl ;11
edup

nop ;4 остается для других нужд





http://zxaaa.untergrund.net/view_demo.php?id=7624

PheeL
20.01.2017, 10:51
А выйдет ли сделать masked multicolor на классике с тормозной памятью? 8х1 мультиколор, только в нужных художнику местах с ограничением по-тактам? Например, мне нужно в определённом месте картинки повысить цветовое разрешение и там я рисую уже аттрибутами 8х1, но которые ограничиваются кол-вом доступных тактов. Насколько я понимаю, должно получаться, что-то вроде "разряженного" мультиколора который иногда помещается (допустим, я использую только 10 знакомест в линии с повышенным разрешением по-горизонтали), а иногда "съезжает", когда знакомест больше предела тактов в линии (если в знакоместах, то первая линия начинается с координаты 0, вторая - 4, третья - 8 и т.д. и может иметь разную длинну, при которой либо смещение к следующей линии становится больше, либо наоборот, длинна линии уменьшается и отступ тоже) или с промежутками (например, первые 4 знакоместа, потом пропуск 8, потом 6 знакомест). Если такое технически реально, то хотелось бы иметь конвертор который будет из картинки 256х192 преобразовывать цветовую информацию в нужное кол-во тактов и генерировать код вывода с этими задержками, а в местах где не получается по-тактам на исходной картинке подсветить линии любым warning цветом не из палитры Спектрума. А уж если получится это объединить с gigascreen'ом и выводом через строку на двух экранах, то было бы вообще великолепно. Это был бы граф. режим в котором из классики уже больше ничего выжать нельзя. Ну кроме фокусов с хромой на RF-модуляторе.

Shiny
20.01.2017, 11:11
Есть мелкий изврат: использовать Paper и Ink. Если заполнить экран через строчку данными, то выйдет цвет одной строки ink, цвет второй - paper.

NEO SPECTRUMAN
20.01.2017, 17:55
На резинке уже давно тоже 20:
http://faqwiki.zxnet.co.uk/wiki/BIFROST*2_Engine
с таким же успехом я могу вывести и все 32
и ищо попищу при этом на бипере...

чисто мультиколорный рандомный набор атрибутов он не выведет

смотрим на пример
максимум в строке 14 знакомест
все остальное черный фон
врятли оно может больше

хотя за 5 минут дебаганья я особо не разобрался

но мне так и не попалось 10 загрузок в регистры и 10 записей за одну строку
даже в самой нагруженной части экрана
(то есть 20 уникальных знакомест не получить никак)

некоторые идеи, конечно, я у него утянул...

DenisGrachev
20.12.2018, 19:15
с таким же успехом я могу вывести и все 32
и ищо попищу при этом на бипере...

чисто мультиколорный рандомный
смотрим на пример
максимум в строке 14 знакомест
все остальное черный фон
врятли оно может больше

хотя за 5 минут дебаганья я особо не разобрался

но мне так и не попалось 10 загрузок в регистры и 10 записей за одну строку
даже в самой нагруженной части экрана
(то есть 20 уникальных знакомест не получить никак)



Только прочитал, поржал :) движок выводит 20 уникальных знакомест но ты решил что нет :)))