Есть альтернативный проект - http://recoil.sourceforge.net/windows.html Он даже более наворочен. Есть всякие плагины для популярных программ для просмотра графики.
Я бы не отказался.
Вид для печати
Есть альтернативный проект - http://recoil.sourceforge.net/windows.html Он даже более наворочен. Есть всякие плагины для популярных программ для просмотра графики.
Я бы не отказался.
Архив со скринами с ZXArt и SpectrumComputing. Недовычистил текстовые скрины с SpectrumComputing, начиная со скринов на N. Полные дубли почистил, но, может, один-два остались.
Обновил плагин для TotalCommander. Кроме самого изображения дополнительно отображается палитра. При просмотре ZX-графики можно выбрать палитру. Если содержимое файла по эвристикам можно трактовать по разному, и плагин ошибся при выборе, то можно выбрать правильный формат ручками. Плагин может просматривать все файлы, которые создаются DaDither.
Обновил плагин для TotalCommander. Добавил:
1) Возможность просмотра графики в ч/б режиме
2) Возможность просмотра гигаскринов не в виде статичных изображений, а в виде двух изображений, сменяющих друг друга с частотой развертки монитора. Эта возможность доступна начиная с Windows 7.
Разыскиваю описание формата BSP и вменяемое описание того, как формируются цвета в аппаратной доработке FlashColor.
Спасибо, но мне бы еще по подробнее. В доп информации сказано, что синий+красный не равно красный+синий. Но не сказано почему. Предположу, что бумага и чернила смешиваются в разных пропорциях, например, 2:1. С другой стороны, смотрю исходники unreal
Скрытый текст
Код:unsigned char flashcolor = (temp.rflags & RF_MON)? 0 : conf.flashcolor;
for (unsigned a = 0; a < 0x100; a++)
{
unsigned char ink = (a & 0x0F), paper = u8(a >> 4);
if (flashcolor)
paper = (paper & 7) + (ink & 8); // paper_bright from ink
................................
{ //----------------------------- for bilinear
unsigned char b0,b1, r0,r1, g0,g1;
b0 = (paper >> 0) & 1; r0 = (paper >> 1) & 1; g0 = (paper >> 2) & 1;
b1 = (ink >> 0) & 1; r1 = (ink >> 1) & 1; g1 = (ink >> 2) & 1;
if (flashcolor && (a & 0x80))
{
b1 += b0; r1 += r0; g1 += g0;
r0 = b0 = g0 = 0;
}
else
{
b0 *= 2; r0 *= 2; g0 *= 2;
b1 *= 2; r1 *= 2; g1 *= 2;
}
unsigned char br1 = (ink >> 3) & 1;
if (r1) r1 += br1;
if (g1) g1 += br1;
if (b1) b1 += br1;
unsigned char br0 = (paper >> 3) & 1;
if (r0) r0 += br0;
if (g0) g0 += br0;
if (b0) b0 += br0;
// palette index: gg0rr0bb
t.attrtab[a+0x100] = u8((g1 << 6) + (r1 << 3) + b1);
t.attrtab[a] = u8((g0 << 6) + (r0 << 3) + b0);
}
[свернуть]
и не вижу никаких хитрых смешений. Так что вопрос по прежнему открыт.
Вот тут еще немного информации:
https://zxpress.ru/article.php?id=3786
а тут - https://speccy.info/%D0%A4%D0%B0%D0%...or_Palette.gif - палитра
Там были разные реализации этой фичи, но даже в пределах одной могут быть расхождения получаемых цветов. Объясню подробнее: седьмой бит (Flash в атрибуте) включает режим "128 цветов", он же "Flash Colors", при этом бумага черная (хотя и тут были варианты), а на зажженных пикселях происходит переключение цветов бумаги/чернил cо скоростью кварца, т.е. 14 МГц. Теперь самое интересное: были два решения для смешивания пропорций. Либо как есть 14МГц, либо 1:3, но это не все. В любом из этих вариантов невозможно добиться стопроцентного соблюдения пропорций на разных экземплярах компов, даже на точно такой же модели. Все дело в обвесе кварца. Если говорить проще, то скважность плавает, и четко 1:1 либо 1:3 из 14 МГц получить невозможно. Да, если заморачиваться с подбором номиналов резисторов, почти будет совпадать. Но лично я делал эту доработку себе и соседу по дому, компы Скорпион в обоих случаях. И цвета не совпадали. Поэтому могу лишь рекомендовать сделать выбор 1:1, 1:3 и 3:1, ну и опционально еще какие-нибудь пропорции.
И да, эта фича показывала "новые" цвета только на CRT-телевизорах, где даже 256 стандартных спектрумовских пикселей уже предел отображения. По сути, "128 цветов" это уже 512 пикселей, но на деле два соседних сливались в один, образуя новый цвет. Логично, что RGB-VGA кодер, тактируемый от 14МГц, либо будет показывать дичь из двуцветных столбиков, либо отображать один из цветов (зависит от прошивки). Как и любой девайс видеозахвата.
Брайт общий, иначе придется еще "утяжелять" схему, а этого старались избежать. Конечно, раздельный палитру бы разнообразил, но увы.
Собственно, по ссылке выше в таблице как раз и видно четкое разделение ярких/неярких цветов https://speccy.info/%D0%A4%D0%B0%D0%...or_Palette.gif