Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Вектор (http://zx-pk.ru/forumdisplay.php?f=55)
-   -   Chaos Constructions 2009 (http://zx-pk.ru/showthread.php?t=10960)

b2m 2nd October 2009 14:49

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

---------- Post added at 14:49 ---------- Previous post was at 14:35 ----------

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

svofski 2nd October 2009 15:24

Как гасить большие буквы раньше?

Горизонтальное разрешение равно ширине одного NOP-а, но фактически ничего нельзя изменить без одной модификации A и OUT-a: ты ведь только что писал 256-тицветик. В таких буквах как S, например, лесенки перекрываются и это удачно красиво, потому что сдвинуть четырехноповую черту можно с разрешением в один NOP. Но минимальная ширина черты -- 4 нопа (ana b/out $c vs ora c/out $c, например). У меня все буквы из трех таких четырехноповых столбиков и кое-где есть одноноповые лесенки, но черточки все равно широкие.

Есть другие варианты. Можно, например, вместо гашения того же цвета менять цвет экрана (просто иметь там картинку), а реальное гашение делать где-то за кадром. Но это требует редизайна всего экрана и в рамки фикса демы это никак уже не вписывается. Это простор для дальнейшего творчества.

Tim0xA 2nd October 2009 15:37

svofski, а музыки в демке уже не будет?

svofski 2nd October 2009 15:39

Почему же, будет. Просто я фикс делал на "реаловой" версии, чтобы была возможность проверять. Теперь когда известно, что работает, можно вставить музыку обратно. На днях будет, но скорее всего не сегодня. Perjantai.

b2m 2nd October 2009 16:45

Quote:

Originally Posted by svofski (Post 222998)
Есть другие варианты. Можно, например, вместо гашения того же цвета менять цвет экрана (просто иметь там картинку), а реальное гашение делать где-то за кадром.

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

---------- Post added at 16:45 ---------- Previous post was at 16:36 ----------

В принципе, должно хватить: в А приготовить заранее ноль, а как только вышли за экран сделать out 2 и out 0Ch, итого 24 такта.

svofski 2nd October 2009 17:01

Если мы говорим про улитку -- нет. А если про какую-то гипотетическую демку будущего, то вполне. Но мельтешня где-то на бордюре по-моему будет по-любому.

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

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

b2m 2nd October 2009 17:10

Quote:

Originally Posted by svofski (Post 223017)
В это время можно делать только такие вещи, которые всегда занимают одинаковое количество циклов. Хочется, например, вызвать в это время плеер, а нельзя -- уж очень он ветвист.

Можно таймером вычислять, сколько тактов осталось ждать. 1 nop = 2 тика.

svofski 2nd October 2009 17:18

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

b2m 2nd October 2009 17:33

Можно, если использовать несколько NOP-ов и прыгать на них при помощи PCHL

svofski 2nd October 2009 17:43

Чего-то туплю. А что будет в HL?

ivagor 2nd October 2009 17:52

Quote:

Originally Posted by svofski (Post 223033)
А что будет в HL?

IMHO (обработанное) значение, считанное из таймера

---------- Post added at 18:52 ---------- Previous post was at 18:49 ----------

А в памяти участок NOPов, в нужное место которого попадем после разборок с таймером и на котором можно "выровняться"

b2m 2nd October 2009 17:58

Да, значение таймера поделить на 16, частное использовать как количество циклов, остаток поделить на 2 и сложить с адресом начала NOP-ов, а после окончания цикла сделать PCHL.

svofski 2nd October 2009 17:59

Я с интересом посмотрю на пример реализации.

b2m 2nd October 2009 19:59

Я обновил clrs на своём сайте (тот, что по ссылке выше), добавил музыку. Иногда подмаргивает, но это потому, что плеер делает свою работу слишком долго, я не разбирался с кодом плеера.

b2m 2nd October 2009 23:27

svofski, ты не гонял 256 цветов с музыкой на своём агрегате? А то у меня похоже таймер глючит: засекал количество тактов, которое выполняется процедура плеера - не бывает очень долго. Не должно мограть.

ivagor 3rd October 2009 09:52

Судя по EXOLONу, в последних версиях таймер уехал. Последняя версия, на которой exolon не чудит - от 21.09, т.е. до внесения правок программирования палитры.

ivagor 3rd October 2009 12:17

Tim0xA, ты ведь можешь и последнюю версию clrs проверить. Музыки без ST не будет слышно, но стабильность картинки можно оценить.

svofski 3rd October 2009 18:35

clrs с музоном у меня держится в общем ровно. Периодически мыргает чуть-чуть, а иногда срывается на мощное ШШШШШ, видимо вообще сильно мимо кассы пролетает. Может быть можно сместить картинку так, чтобы гарантировано плееру места хватало? Заодно и оценить сколько времени нужно плееру.

Вообще респект. Я бы никогда до такого не допер.

b2m 4th October 2009 01:22

Я, вобщем, разобрался. В понедельник будет новая версия.

Tim0xA 4th October 2009 01:36

Проблема осталась.

ivagor 4th October 2009 11:08

Неофициальный хак
Attachment 13586
как будет официальный - уберу

b2m 4th October 2009 16:04

Собственно, можно и этот хак считать официальным. :)
Просто по другому не сделаешь, буквально 10 сканлиний нехватало. Однако гарантии, что на других мелодиях не будет моргать, я дать не могу.

svofski 4th October 2009 16:31

Вектору к лицу ВИ53.

svofski 5th October 2009 04:32

Хмм.. а у меня clrslow продолжает срываться. Сначала мыргает несколько раз с интервалом секунд 4-6, потом какое-то время держится, а потом начинает мыргать весьма интенсивно.

b2m 5th October 2009 12:26

Обновил эмулятор. clrslow стабилен.

ivagor 6th October 2009 13:05

Просьба к svofski - может ты напишешь пару строк, что то вроде "Дополнения к техническому описанию вектора" по последним достижениям реверс-инжиниринга? b2m, конечно, тоже мог бы, но он даже к своему эмулятору не хочет доку писать :) .

svofski 6th October 2009 17:15

Ыы.. А чего писать-то? Ничего принципиально нового с точки зрения программирования для Вектора мы не узнали. Все новое по-моему про процессор да таймер, в основном это важно для эмуляции, а не для создания чего-то нового. Ну разве что про растровые эффекты? Составь оглавление =)

ivagor 6th October 2009 17:51

1. Особенности программирования палитры
Если про процессор и таймер тоже напишешь - совсем хорошо будет.

Еще было бы здорово откорректировать карточки таблицы PAL и 8snail в базисе (b2m уже упоминал ранее).

svofski 6th October 2009 17:54

Quote:

Originally Posted by ivagor (Post 223900)
Еще было бы здорово откорректировать карточки таблицы PAL и 8snail в базисе (b2m уже упоминал ранее).

b2m цинично издевался =) А откорректировать надо не карточки, а программы. Я об этом помню.

ivagor 6th October 2009 17:55

Quote:

Originally Posted by svofski (Post 223903)
А откорректировать надо не карточки, а программы

8snail тоже планируешь откорректировать, чтобы было как на скриншоте?

svofski 6th October 2009 18:04

Я не понимаю, ты предлагаешь откорректировать скриншот так, чтобы было как будет, или что?

Tim0xA 6th October 2009 18:14

Quote:

Originally Posted by svofski (Post 223892)
Ну разве что про растровые эффекты?

Учитывая твой накопленный опыт было бы интересно прочитать статью на эту тему (с примерами, диаграммами, расчетами и т.п).

ivagor 6th October 2009 18:25

На скрине 8snail сейчас буквы HULLO! сплошные.

svofski 6th October 2009 18:27

ivagor, я в курсе. И что ты предлагаешь мне сделать? Бросить абсолютно все, завести MS Paint и стереть каждую вторую строку? Стереть карточку? Или может быть все-таки ты согласишься подождать, пока я найду время собрать окончательную версию и проапдейтить все сразу?

ivagor 6th October 2009 18:35

svofski, спокойствие, только спокойствие. Ход мой мысли был такой: в одном из постов, после варианта snail с чересстрочными буквами ты написал, что доделывать ее уже не планируешь (только музыку вернешь), поэтому я подумал, что про скрин в базисе со сплошными буквами ты забыл. Раз ты все помнишь - это замечательно (я так частенько забываю).

svofski 6th October 2009 18:47

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

Tim0xA 8th October 2009 01:52

Quote:

Originally Posted by ivagor (Post 223348)
Неофициальный хак clrslow.zip

На реале все ОК.


All times are GMT +4. The time now is 23:24.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.