PDA

Просмотр полной версии : Линии на знакоместах



Shadow Maker
18.11.2009, 16:39
Известный то ли глюк, то ли хз как его назвать. При нахождении рядом пары инвертированных знакомест (то есть белый-голубой, а рядом например голубой-белый) на их границе получается как бы полоска выделяющегося цвета. Разумеется, такого мне хотелось бы избегать, в связи с этим возник вопрос - есть на PC какие-либо просмотрщики, которые реализуют этот эффект? А то конвертор я написал, чтобы оптимизировал картинку под отсутствие этого эффекта, а проверить негде.

Vitamin
18.11.2009, 18:01
UnrealSpeccy с фильтром TV

psndcj
18.11.2009, 20:59
для Born Dead #10 (вернее специально для ММА, который постоянно мучался с подобным багом на своем Пентагоне) писал конвертор screen_visual_optimizer1_0 - который правит сей баг. найти можно в приложении...

psb
18.11.2009, 22:05
а я какой-то тест делал специальный, щас уже точно не вспомню, но у меня вроде эти полоски мигали:)

Shadow Maker
18.11.2009, 23:44
для Born Dead #10 (вернее специально для ММА, который постоянно мучался с подобным багом на своем Пентагоне) писал конвертор screen_visual_optimizer1_0 - который правит сей баг. найти можно в приложении...
Да я сам себе написал подобное, мне проверить тока как выглядит :) А он у тебя как, так же как и мой ищет первое инвертированное знакоместо в линии и потом инвертирует всю линию до конца?


---------- Post added at 23:44 ---------- Previous post was at 23:10 ----------


UnrealSpeccy с фильтром TV
Увы, этот фильтр у меня мало того, что грузит весь проц и жутчайше тормозит, так еще и показывает эти полоски где угодно, а не только где знакоместа.

daniel
19.11.2009, 13:20
интересно, а никто не использовал сей глюк в полезных целях, тобишь в картинках для надобности. ну вы поняли мысль...

Shadow Maker
19.11.2009, 13:27
Ну там особо-то не попользуешь, там же тупо одна вертикальная пиксельная линия, это если только для обводки как-то заюзать можно.

psb
19.11.2009, 13:57
зачем юзать глюк в картинках? чтобы потом сказать, что на той же пати картинка показывалась неправильно?;)))

Shadow Maker
19.11.2009, 15:48
Ну делают же всякие извраты мультиколорные.

daniel
20.11.2009, 05:20
[/COLOR]
зачем юзать глюк в картинках? чтобы потом сказать, что на той же пати картинка показывалась неправильно?;)))

если эта фишка есть на фирменной машине, то эмулятор должен ёё эмулировать, соответственно на скриншоте тоже это должно быть.

riskej
20.11.2009, 13:26
Ну делают же всякие извраты мультиколорные.

эти "извраты мультиколорные" показывают на любом zx 128, начиная классикой и заканчивая всякими atm, profi.

а вертикальные полоски - глюк даже не всех пентагонов. кстати, у меня он тоже есть.

Shadow Maker
20.11.2009, 14:12
riskej, суть была не в том, где показывают мультиколоры (имелись ввиду не триколоры, не двуэкранки, а настоящие мультиколоры), а в том, что почему бы и не попробовать воспользоваться полосками. Может кто-то делал.

newart
20.11.2009, 15:40
При нахождении рядом пары инвертированных знакомест (то есть белый-голубой, а рядом например голубой-белый) на их границе получается как бы полоска выделяющегося цвета.
А если одно из знакомест имеет одинаковый paper/ink полоска будет видна?

Shadow Maker
20.11.2009, 16:27
Не помню. Вроде нет.

Destr
21.11.2009, 17:08
Я на когда-то живом Скорпионе (жёлтая плата) эту вещь пытался юзать.
Получалось следующее:
Если PAPER/INK и пиксели в ПРАВОМ инвертированы - то полоска есть.
Если PAPER/INK в ПРАВОМ знакоместе одинаковы и пиксели заполнены - то тоже есть.
Если в последнем случае включен FLASH то полоска мигает.

Пришел к выводу что это как-то связано с некорректной выборкой/отображением. Буд-то бы байт "чуть"-чуть вылазит из под атрибутов. Но я не специалист, могу ошибатся.
Применение нашёл только тупым разделением экрана по вертикали.

У моего друга "зёленый" скорп был, там та-же фигня, он ещё меньше меня в схемотехнике шарил, поэтому не стеснялся говорить что эта полоска - доказательство того что на Спеке есть пиксели меньше стандартных:)

psndcj
25.11.2009, 22:53
если эта фишка есть на фирменной машине, то эмулятор должен ёё эмулировать, соответственно на скриншоте тоже это должно быть.
сомневаюсь, что это фирменный глюк... это из того же плана имхо как черный с яркостью - то есть трабл при взломе ULA в ссср...

ALKO
05.12.2009, 12:11
аппаратно сей баг воможно убрать?
может неправильно отрегулирована синхронизация атрибутов на знакоместа...

valeron
05.12.2009, 15:55
Проблема исключительно аппаратная. Клоны, выпускаемые промышленно (у нас в Белоруси - Байт и Сантака) таких артефактов не имели. Кажется Балтик тоже.
Впервые я с такой хренью столкнулся в самопальных Пентагонах. Поначалу пытался сражаться, ставить различной емкости конденсаторы на разные сигналы, да ничего путного не вышло, если убирается в одних знакоместах, то вылазит на других. Обсуждали этот вопрос с Prusak, он тоже в своем старом Пентагоне сражался, и даже победил применив регистр. Завел на него все необходимые сигналы и затактовал ни то от 8 Мгц, ни то от 16, уже не помню, можешь ему написать в личку, спросить. Короче он победил эту хрень.

ALEXEY.GORDEEV
06.12.2009, 17:26
+1 к предыдущему оратору :)
Нужно просто поставить в разрыв между цифровыми выходами RGB и аналоговым формирователем регистр, на который завести 4 TTL сигнала R G B I, выход на аналоговую часть, и затактовать регистр от пиксельклока 7Мгц... Все дела.
Возможно сигнал активности (/OE) придется повесить на какое-нибудь гашение луча, но и без него должно работать...
Я этого не делал, но как это работает я в состоянии понять :)

Shadow Maker
06.12.2009, 21:47
Блин, аппаратчики. Я спросил один конкретный вопрос - как это посмотреть на PC, чтобы было видно. В Unreal не показывает. Кто-то знает?

valeron
08.12.2009, 22:34
Я знаю! НИКАК!
Тебе же намекается разными способами что это фигня для спектрума не характерна, ее даже не на каждом реале увидишь, а только на особо кривых образцах. Я когда впервые с этим столкнулся - увидел свои рисунки на пентагоне, так кинулся все руками править. Потом пытался конденсаторы паять, потом сравнил на других своих клонах - везде нормуль, только пентагон полосы дает. Ну и забил на это дело. И ты забей! Раз проблема железная, то и решать ее калёным железом (ну или медью)! Нечего програмно всякие глюки поддерживать...

Shadow Maker
08.12.2009, 22:52
Не. Надо способ.

Black_Cat
08.12.2009, 23:05
есть на PC какие-либо просмотрщики, которые реализуют этот эффект?это не эффект, это плохая схемотехника.. Так что забудь раз и навсегда!

valeron
08.12.2009, 23:09
Ну как такое можно эмулить, если большинство полосок тоньше чем полпиксела, а некоторые вообще едва просматриваются. Да еще после прогрева часть полосок исчезает, зато другие проявляются... Не ну можно конечно написать прогу, которая будет проверять соседние знакоместа и если один и тот же цвет в одном знакоместе инковый, а в другом паперный, то что б прога рисовала полосочку на границе знакомест. Но не факт что эта прога и реальный пентагон одинаково будут показывать. Даже не знаю что тебе сказать. Молчать буду! Вот!

Destr
09.12.2009, 02:53
Не. Надо способ.
Способы конечно есть:
1. Подправить в эмуле один из фильтров.
2. Накалякать спец-гляделку которая будет эту фичу поддерживать.
3. Брать скриншот нужной картинки и править вручную.

Как апофеоз можно прицепить ко всему вышеперечисленному яркий чёрный (тоже глюк собачий)

Вопрос: Зачем?

Shadow Maker
09.12.2009, 02:55
Как зачем. Вот есть у тебя картинка, хочешь ты перфекта, чтобы везде казало, но не хочешь её извращать в стиле как cj советовал. И интересно посмотреть, а мож она и так везде нормально показывает.

Ну, кто сможет? Спец-гляделка подойдет.

Destr
09.12.2009, 03:13
Ну, кто сможет? Спец-гляделка подойдет.
Тут видишь какое дело, на разных клонах этот эффект чуток по разному проявляется. Раз уж тебе так хочется - собери статистику (все варианты проявлений) - будет тебе гляделка (написать её - раз плюнуть, была-бы база глюков)

P.S. Как "гипотетическая проблема" - такая задача даже интересна. Можно даже сделать ядрышко, а потом по мере необходимости "обновлять базу АТРИБУТНЫХ ГЛЮКОВ". Как антивирусник :) Если будешь поддерживать (выявленными А-глюкам) - заморочусь :)

Shadow Maker
09.12.2009, 03:35
А где я буду эти А-глюки брать? :) Давай пока сделай как сам помнишь, я потом посмотрю как на Скорпионе моём, он щас вообще территориально не рядом находится, поэтому собственно и нужно. Что написать раз плюнуть - это понятно, поэтому и предложил.

psb
09.12.2009, 22:09
вот я молчу, потому что не помню точно, как оно работает, не хочу вводить в заблуждение, хотя тогда я прекрасно знал этот эффект. но раз уж очень надо...
смысл в том, что последний "полпиксел" левого знакоместа рисуется атрибутами правого (т.е. следующего). например, если сделать одно знакоместо залитое единицами с атрибутом 0, то его будет не видно (все черное). но если следующее знакоместо будет залито нулями с атрибутом 7 (тоже черное), то на их границе будет белая полоска. т.е. графика отстает от атрибутов на полпиксела.

Black_Cat
09.12.2009, 22:41
2. Накалякать спец-гляделку которая будет эту фичу поддерживать.это не фича, это - глюк плохой схемотехники! И использовать его не надо!


(написать её - раз плюнуть, была-бы база глюков)возьми все неработающие компьютеры и собери их глюки :) ..а вааще ваши страдания мне напоминают мульт с Масяней "Флудеры" :) Один - в один! :)

Shadow Maker
09.12.2009, 23:28
БК-0010 - тебе не надо - не читай. Мне надо и я спрашиваю. Флудер - это ты и есть, ничего по вопросу в теме не пишешь, а только про то, что так не должно быть при правильной схемотехнике. Как будто тут идиоты собрались и никто этого не понимает.

Black_Cat
10.12.2009, 00:03
Shadow Maker, вопрос не в идиотах, а в том чтоб вообще глюки не поддерживать ни при каких обстоятельствах. В нормальном компьютере этого нет и быть не может, так зачем это ещё и в эмули тащить? Нет этого вообще и быть не должно нигде - табу! Это не фича, это - глюк! ..а глюки необходимо устранять, а не разводить..

Shadow Maker
10.12.2009, 02:12
Эмуль на то и эмуль, что эмулирует. Раз уж всякую хрень эмулируют, пусть и это опционально могут. Я за прогресс, надо, не надо - люди сами разберуться, а чтобы сама возможность - была. А то у тебя подход типа "нафиг не нужен отладчик в эмуле! в нормальных машинах этого не было!". Не нужно - не пользуйся, а если есть сама возможность - это очень правильно. А мы с Destr'ом обсуждали вообще отдельную программу для просмотра, почему ты так плохо читаешь?

daniel
10.12.2009, 05:34
сомневаюсь, что это фирменный глюк... это из того же плана имхо как черный с яркостью - то есть трабл при взломе ULA в ссср...

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

Black_Cat
10.12.2009, 13:26
Я за прогресс, надо, не надо - люди сами разберуться, а чтобы сама возможность - была.:) Это не прогресс, это - профанация!


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

psb
10.12.2009, 15:05
да, вот если бы такое было, никто бы не посмел сказать, что эмуль - это отстой и что он не передает тех же эмоций;)

а вообще, так можно дойти до того, что берем даташит на Z80, на ВГ93 и делаем все строго по описанию. ой, %10 прог не работают? так они же быдлокодерами написаны! такие проги не нужны!

Shadow Maker
10.12.2009, 17:49
Вот именно. Прекращаем флуд и начинаем думать над программой для отображения полупиксельных линий.

Destr
11.12.2009, 05:44
Вот именно. Прекращаем флуд и начинаем думать над программой для отображения полупиксельных линий.
Пишу потихоньку, кинь пару-тройку скринов для теста (таких где а-глюк себя должен проявить)

Shadow Maker
11.12.2009, 06:13
Ну ты сказал :) Нету у меня же. Для этого и просил. Ну сам в артстудии два знакоместа нарисуй, чего уж.

Destr
14.12.2009, 20:10
В общем вот что получилось, не знаю на сколько "правильно" глючит, вроде похоже...

P.S. Flash не реализован

Shadow Maker
16.12.2009, 03:00
Окей, щас попробую потестить.

---------- Post added at 03:00 ---------- Previous post was at 02:50 ----------

Чот не пашет нормально.

Вот скрин. По идее тут весь персонаж слева должен быть покрыт полосками - там синий с желтым, желтый с синим. А ни байды...

ftp://ftp.worldofspectrum.org/pub/sinclair/screens/load/g/scr/GommyMedievalDefender.scr

И это, сделай опцию чтоли, чтобы полоски мигали, чтобы не выискивать их.

Destr
16.12.2009, 09:05
Пробел - вкл/выкл подсветки

Shadow Maker
16.12.2009, 13:45
Ага. Так вроде видать. Слушай, вот ишо чего. Надо бы ну например по Enter'у переключать цветное/без атрибутов/инвертированное. Так и проверить проще будет, всё ли нормально.

molodcov_alex
16.12.2009, 14:44
У меня вот получились такие картинки (если я конечно правильно въехал в суть "эффекта").
На первой аттрибуты обновляются раньше на чем точки, на второй - наоборот:

Destr
16.12.2009, 17:30
У меня вот получились такие картинки (если я конечно правильно въехал в суть "эффекта").
На первой аттрибуты обновляются раньше на чем точки, на второй - наоборот:
Это сам рисовал или прога какая?

---------- Post added at 17:30 ---------- Previous post was at 17:28 ----------


Ага. Так вроде видать. Слушай, вот ишо чего. Надо бы ну например по Enter'у переключать цветное/без атрибутов/инвертированное. Так и проверить проще будет, всё ли нормально.
Надо выяснить причину возникновения эффекта, иначе всё это напрасно.
Программа в данный момент "эмулирует" неправильно (видно если без атрибутов поглядеть). А как "правильно" - не знаю, ибо до сих пор никто толком не сказал откуда оно берётся.

Shadow Maker
16.12.2009, 19:33
У меня вот получились такие картинки (если я конечно правильно въехал в суть "эффекта").
На первой аттрибуты обновляются раньше на чем точки, на второй - наоборот:
Не, несколько не так. Сдается мне, так и придётся ехать к родителям и фоткать картинки на фотоаппарат.

---------- Post added at 19:33 ---------- Previous post was at 19:28 ----------


Надо выяснить причину возникновения эффекта, иначе всё это напрасно.
Программа в данный момент "эмулирует" неправильно (видно если без атрибутов поглядеть). А как "правильно" - не знаю, ибо до сих пор никто толком не сказал откуда оно берётся.
Ну тут кто-то мудрый в теме писал, откуда оно берется, тока нифига непонятно, как оно выглядеть должно в итоге.

psb
16.12.2009, 20:05
по виду похоже как на картинках в 44 посте, только, чисто субьективно, контраст (а может и яркость) должен быть поменьше у полосок.

Destr
17.12.2009, 09:59
Не, несколько не так. Сдается мне, так и придётся ехать к родителям и фоткать картинки на фотоаппарат.
Если соберешся, то не забудь кроме фоток и сами оригиналы (scr) картинок. И чем больше материала для анализа будет, тем лучше. А то видать аппаратчиков куча, все гуры, а никто толком не скажет физику процесса.

molodcov_alex
17.12.2009, 11:46
Это сам рисовал или прога какая?
Прога писаная 5 минут в цэ++билдере.

Ну тут кто-то мудрый в теме писал, откуда оно берется, тока нифига непонятно, как оно выглядеть должно в итоге.
?

смысл в том, что последний "полпиксел" левого знакоместа рисуется атрибутами правого (т.е. следующего). например, если сделать одно знакоместо залитое единицами с атрибутом 0, то его будет не видно (все черное). но если следующее знакоместо будет залито нулями с атрибутом 7 (тоже черное), то на их границе будет белая полоска. т.е. графика отстает от атрибутов на полпиксела.

Destr
17.12.2009, 12:07
Прога писаная 5 минут в цэ++билдере. На твоей картинке я выделил кружком пример "неправильного" глюка. Пиксели не должны вылазить поодиночке. Глюк проявляет себя так: Либо есть полоска на всю высоту знакоместа, либо нет. Твоя прога неверна. Нужно выяснить причину глюка, тогда можно будет точно эмулить.

Shadow Maker
17.12.2009, 14:17
Это, мужчины, дайте ссылок на скриншоты, где глюк должен быть виден. Штук 10, я тогда съезжу, пофоткаю.

Slider
17.12.2009, 19:08
вертикальные полоски - глюк даже не всех пентагонов. кстати, у меня он тоже есть.
Всегда думал, что это чисто Робиковский глюк.
Парни, всё равно - это СТРАШНЫЙ глюк! Из-за него в BGE приходится использовать функцию "optimize" и то она не до конца помогает. Наш мегаапаратчик Витя этот глюк даже как-то мочил... ;)

---------- Post added at 18:08 ---------- Previous post was at 18:05 ----------

Полон подобных глюков фирменный скрин к Sir Wood, кстати

Shadow Maker
18.12.2009, 01:34
Мы знаем. Я написал себе свой оптимайз в BGE, который полностью лечит этот глюк. Но в принципе можно пользоваться тулзой от cj, чтобы исправить.

Но суть не в этом. Суть в том, что надо бы сделать аналог, дабы зазря не извращать картинки.

Robus
20.12.2009, 07:52
А как "правильно" - не знаю, ибо до сих пор никто толком не сказал откуда оно берётся.
Причина глюка это переход из 1 в 0. Время перехода от 0 к 1 в 10 раз быстрее чем от 1 к 0. Просто помнится последнее значение пиксела 1(значение бита 0 в предыдущем байте). Не цвет а именно значение бита !!! При отрисовки следующего знакоместа(знаколинии) отображается текущим INK'ом часть пиксела.

Глюк будет проявляться в таком варианте:
00000001[INK:7 PAP:7],00000000[INK:1 PAP:7] - Будет пол синего пиксела во втором знакоместе(знаколинии) !

Глюка не будет, а точнее будет, но в 10 раз тоньше в таком варианте:
11111110[INK:7 PAP:7],11111111[INK:7 PAP:1] - Будет 1/10 от пол синего пиксела во втором знакоместе(знаколинии), но этого никто не заметит !

---

Только если уже вы так досконально хотите проэмулировать это, то лучше бы сделали эмуль с 50-тью кадрами монитора а не 50 фпсами. А то эти размазывания и дребезг так задрали, что пол-пиксела просто детский лепет в сравнении с этим !!!

Destr
20.12.2009, 11:15
При отрисовки следующего знакоместа(знаколинии) отображается текущим INK'ом часть пиксела.
Скажи, а почему тогда при частичном заполнении линия по высоте всего знакоместа (а не только крайних пикселей) получается?

А по поводу эмуля в 50hz - http://trd.speccy.cz/pcutilz/PSTR_312.ZIP

Как написано в http://trd.speccy.cz/
"PowerStrip v3.12 - лучшая утилита для настройки видеокарты и монитора!
С ее помощью можно запустить UnrealSpeccy в 50 Гц видео (см. news from 10.2.2002)."

Shadow Maker
20.12.2009, 17:16
Скажи, а почему тогда при частичном заполнении линия по высоте всего знакоместа (а не только крайних пикселей) получается?

Нет, не должна быть линия, должны быть прерывистые пиксели. Я нафоткал фактического материала, вечером выложу.

Destr
20.12.2009, 19:00
Нет, не должна быть линия, должны быть прерывистые пиксели.
Странно. Я чётко помню что прерывистых пикселей не было (у меня на скорпе).


Я нафоткал фактического материала, вечером выложу.
Ждём-с!

Shadow Maker
21.12.2009, 04:57
Странно. Я чётко помню что прерывистых пикселей не было (у меня на скорпе).
Они есть, просто ты на телике смотрел, они размазываются, если прямо на них смотреть. А если круто сбоку смотреть, то четко видно, что они прерывистые.

Фактический материал тут - http://mrs.mn/100SSCAM.RAR. Фоткались картинки с Enlight 97, взять можно на trd.speccy.cz, картинки там X-Files, ColorFilya и Ferrari. На последней следует заострить внимание особо, ибо там как раз видно прерывистость линий на этой феррари.

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

Штатива у меня нет, руки трясутцо, так шо сами понимаете сорри за катчество.