PDA

Просмотр полной версии : Chaos Constructions 2009



svofski
29.08.2009, 23:27
(для тех кто в танке =)



#cc9 Сейчас демонстрируются работы конкурса ZX Spectrum 640k demo. Среди работ была также работа для Вектора (в соотв. с правилами).


Все прошло не без накладок, но — была показана демка для Вектора на большом экране в формате конкурса. Гы.

Tim0xA
30.08.2009, 13:17
Все прошло не без накладок, но — была показана демка для Вектора на большом экране в формате конкурса. Гы.
Супер! Выложи демку и видео!

svofski
30.08.2009, 19:07
Ага, вот только придумаю, как видео со вги зацифровать.

svofski
02.09.2009, 02:38
В общем вот. Быстродема 8 Bit Snail (2009) by svo, 4-е место в ZX/Oldskool Demo на Chaos Constructions 2009 (http://party.cc.org.ru).

http://sensi.org/~svo/scalar/ware/767/
http://pouet.net/prod.php?which=53805
http://www.youtube.com/watch?v=7Z0dsZUAyd0

http://ftp.cc.org.ru/2009/cc2009results.txt -- не уверен, что значит "55" в числе голосов, потому что сам до голосования не добрался. Но то, что это меньше чем в два раза меньше, чем первое место, греет душу. Особенно при том, что улитку на экране вообще видно не было.

Отдельное спасибо Prog Master-у за музыку, которую я взял без спроса и SES-у за плеер этой музыки, которого я тоже не спрашивал ;) Вроде бы я ничьих заветов при этом не нарушил. Ивагору тонны респекта за десодо\h\h\h\hэкзомайзер и Tim0xe за общую мотивацию. Извините, что преведов в самой демке нет, я ступил, а потом поздно было.

Демка работает на Векторе-06цц в FPGA, на котором я ее и показывал. На реале проверить не получилось по известным причинам. Эту версию может быть будет сложно запустить на выживших Векторах, потому что ей нужен кваз. Когда появится что-нибудь живое, можно будет сделать сборку для бесквазья.

Эмуляторы, к сожалению, не очень хорошо справляются с растровыми эффектами, на которых построена эта дема. VV вообще ничего не показывает в экранной зоне, а b2m показывает в общем прилично, но разводит недопустимую асинхронщину из-за чего все мельтешит ;) Поэтому лучше смотрите ютубу.

Ыгыгыгы!

Tim0xA
02.09.2009, 12:02
svofski, классная дема! Спасибо, порадовал :)

tnt23
02.09.2009, 14:43
Эту версию может быть будет сложно запустить на выживших Векторах, потому что ей нужен кваз. Когда появится что-нибудь живое, можно будет сделать сборку для бесквазья.


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

А так - присоединяюсь к общему хору славословий!

svofski
02.09.2009, 15:35
Если CPLD и SIMM, то прикольно было бы заодно еще в той же плате оформить и видео "кондиционер", чтобы не надо было в плату залезать и заодно уж АЫ, раз все равно АЫ нужна. Эдакая док станция для Вектора. Для последних двух оставшихся.

tnt23
02.09.2009, 16:58
Если CPLD и SIMM, то прикольно было бы заодно еще в той же плате оформить и видео "кондиционер", чтобы не надо было в плату залезать и заодно уж АЫ, раз все равно АЫ нужна. Эдакая док станция для Вектора. Для последних двух оставшихся.

Ты забыл еще Человека Из Вологды!

Про АЫ мне не жалко, пусть будет и АЫ. Сделаешь?

svofski
02.09.2009, 17:03
Человека Из Вологды я как раз посчитал. Его и твой, вот и два.

У меня не хватает лицензии моего Игла, чтобы развести такую длииииннную плату =)

tnt23
02.09.2009, 18:11
Человека Из Вологды я как раз посчитал. Его и твой, вот и два.

У меня не хватает лицензии моего Игла, чтобы развести такую длииииннную плату =)

Я готов развести ее в пикаде, была бы схема!

svofski
02.09.2009, 18:15
Да тут вообще звезды в твою сторону поворачиваются. И пикад у тебя и Вектор у тебя и опыт работы с SIMM-ами у тебя. Заметь, что в этой штуке можно заодно и контроллер флопа развести и эмулятор прямо в него воткнуть. Не понимаю, как ты можешь сопротивляться такому соблазну!

tnt23
02.09.2009, 23:14
У меня овладевание фпга как-то скрипуче движется :(

b2m
04.09.2009, 12:06
а b2m показывает в общем прилично, но разводит недопустимую асинхронщину из-за чего все мельтешит ;)
Мелькает не из-за "асинхронщины", а потому что правый край растрового эффекта в эмуляторе не попадает между букв, как у тебя. Это ещё вопрос, будет ли он попадать на реальном Векторе. Вопрос о количестве тактов от момента прерывания до появления "луча" на экране (или наоборот) пока открыт.

svofski
04.09.2009, 12:29
Это да, вопрос безусловно открыт.. Мы все ждем с замиранием когда Tim0xA прогреет паяльник =)

Количество тактов тут мало чего меняет, в таких пределах это скорее фаза.

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

b2m
04.09.2009, 16:09
Между прочим, если внимательно посмотреть правую границу растрового эффекта, то у тебя она не вылазит за пределы второй буквы (там где они пересекаются), а у меня справа от буквы есть один пиксель эффекта. Однако у меня цвет задаётся для группы из 8 точек, т.е. ширина эффекта у тебя на один пиксель меньше, чем число кратное восьми. Почему?

И это при том, что за один такт выдаются 2 точки (соответственно, за минимальный цикл процессора из 4-х тактов - 8 точек).

svofski
04.09.2009, 17:08
Я сам этим вопросом интересуюсь.



always @(posedge clk24) begin
if (iports_write & ~WR_n & cpu_ce) begin
video_palette_value <= DO;
video_palette_wren <= 1'b1;
end
else
video_palette_wren <= 1'b0;
end


Поскольку video_palette_wren (ну и value) -- это регистры, запись в них происходит по clk24. В ОЗУ палитры запись произойдет на один клок позже.



wire [3:0] paletteram_adr = (retrace/*|video_palette_wren*/) ? video_border_index : coloridx;
palette_ram paletteram(paletteram_adr, video_palette_value, clk24, clk24, video_palette_wren, realcolor2buf);


Тут интересней paletteram_adr, который в основном равен coloridx и именно от момента перещелкивания coloridx зависит то, куда ж мы запишем реальную цифирь. Тактом раньше -- записали в цвет предыдущего пикселя, тактом позже -- в цвет следующего. Это при том, что отображаться может один и тот же в этот момент.

Для храбрых, coloridx берется из модуля video.v и обновляется примерно вот так:


reg [3:0] xcoloridx;
wire [3:0] coloridx_modeless;

always @(negedge clk24) begin
if (mode512) begin
if (ce6)
xcoloridx <= {2'b00, coloridx_modeless[2], coloridx_modeless[3]};
else
xcoloridx <= {2'b00, coloridx_modeless[1], coloridx_modeless[0]};
end
else
xcoloridx <= coloridx_modeless;
end

// coloridx is an output port, address of colour in the palette ram
assign coloridx = border ? border_idx : xcoloridx;


На спаде клока, что занятно. Сейчас трудно сообразить, но скорее всего это означает, что индекс цвета, то есть адрес палитры, обновляется раньше, чем формируется сигнал записи в ОЗУ палитры.

Из всего этого я пока делаю вывод, что ширина отрезка от инструкции out $0c до out $0c короче быть вряд ли способна. А вот то, что она все out-ы сдвинуты по фазе "влево" -- это похоже на правду.

К анализу кода приглашаются все желающие, на то он и открытый =)

b2m
04.09.2009, 22:26
К анализу кода приглашаются все желающие, на то он и открытый =)
Нет уж, спасибки :)
Мне, как программисту с солидным стажем, будет трудно осмысливать программу, в которой все операторы выполняются одновременно. Я люблю по-тихоньку, шаг за шагом :rolleyes:

Tim0xA
29.09.2009, 22:59
Мы все ждем с замиранием когда Tim0xA прогреет паяльник
Готовь версию без квазидиска :)

svofski
29.09.2009, 23:01
На сколько хватит твоего терпения, я успею поужинать? =)

Tim0xA
29.09.2009, 23:06
Да, я пока проверю, как работает команда INR с флагом AC...

svofski
29.09.2009, 23:35
Ну вот, вроде так. Очень o_o страшно, ведь наверняка не заработает как хотелось бы.

Tim0xA
29.09.2009, 23:36
Растровый эффект смещен
http://pic.ipicture.ru/uploads/090929/15427/jWKCdfB4vc.jpg

svofski
29.09.2009, 23:41
Интересно, где-то на 6-8 точек что ли.. Надо будет какой-то тест написать. Зато как я смачно отсортировал цвета по светимости :D

Tim0xA
29.09.2009, 23:57
Ну вот, вроде так. Очень o_o страшно, ведь наверняка не заработает как хотелось бы.
http://www.youtube.com/watch?v=WAi3svNXmCc

svofski
30.09.2009, 00:08
Эх.. вот ведь незадача. Смещено на предположительно 8 пикселей влево и момент записи в ОЗУ палитры отличается. Еще я чего-то не понял где надпись в начале.

Tim0xA
30.09.2009, 00:12
Еще я чего-то не понял где надпись в начале.
Меня тоже это удивило. Только что еще раз проверил - надписи нет. А в эмуляторе есть.

svofski
30.09.2009, 00:18
Ага. И улитка в сеточку. Значит наверное у тебя Вектор из тех, в которых out $0c нужно повторять по десять раз. Чорт, Black Ice не проверить. В нем тоже по одному разу out $0c.

---------- Post added at 00:18 ---------- Previous post was at 00:17 ----------

Я когда-то ковырялся и находил где-то про этот out $0c. А сейчас снова забыл уже, в чем там дело. Вроде бы там дело было в гонках и делался для этого какой-то очень простой фикс.

Tim0xA
30.09.2009, 02:29
Сделал доработку для D32,D39 http://zx.pk.ru/showpost.php?p=156712&postcount=10
Появилась надпись в начале и улитка теперь без сетки.

---------- Post added at 00:58 ---------- Previous post was at 00:50 ----------

Вот только изображение теперь стало подергиваться, как будто срывается КСИ.

---------- Post added at 01:29 ---------- Previous post was at 00:58 ----------

Рекомендуется также доработать D83/5


"5.Выводы D32/2, D39/2, D83/5 соединить с общей шиной. Это позволит правильно запрограммировать палитру при одноразовом выполнении команды OUT OCh."


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

svofski
30.09.2009, 02:58
Быстро ты =)
А я сижу, думаю как мне такты разрулить, чтобы было похоже на настоящий вектор. Пока не получается.

ivagor
30.09.2009, 09:19
В VU 28-29 (стр. 6) приведена альтернативная доработка схемы программирования цветов от Шашкова.

---------- Post added at 10:50 ---------- Previous post was at 10:12 ----------

Загадка:
Знаете ли вы, в каком эмуляторе хорошо (лучше чем в b2m, и тем более VV) работают snail, clrspace и lscroll? :)
Это не значит, что этот эмулятор правильный, но, по крайней мере, он ближе к текущей реализации на DE1.

---------- Post added at 11:19 ---------- Previous post was at 10:50 ----------


Значит наверное у тебя Вектор из тех, в которых out $0c нужно повторять по десять раз.
У таких векторов (мой тоже такой) можно и одним outом "попасть" в палитру, но нужно делать это в подходящий момент. Почему-то никто в прошлом не озадачился вопросом разработки соответствующей процедурки.
В "Секретах вектора и кристы" написано, что для записи в ОЗУ палитры доступны (вверху бордюра) 2/3 длительности строки. В форуме b2m после анализа схемы писал, что (если не ошибаюсь) запрет на запись длится 1/4 длительности строки.
Короче, если записывать в палитру на верхнем бордюре дольше 64 тактов - будет ОК, хотя это годится только для "обычного" применения.

b2m
30.09.2009, 10:43
Смещено на предположительно 8 пикселей влево и момент записи в ОЗУ палитры отличается.
У меня в эмуляторе момент записи в ОЗУ палитры, судя по мограющим линиям, ровно на 5 точек позже. Буду думать, как это пофиксить.


Знаете ли вы, в каком эмуляторе хорошо (лучше чем в b2m, и тем более VV) работают snail, clrspace и lscroll?
Не знаем. Расскажи, не томи душу :)

ivagor
30.09.2009, 10:48
Так не интересно :)
Две подсказки, после которых невозможно ошибиться:
1. Доступны исходники (ассемблер).
2. В XP не работает звук.

svofski
30.09.2009, 12:58
Таких эмуляторов, как я помню, штук 10 разных и все в разной степени неработоспособности. В ve27a относительно убедительно выглядели растровые эффекты, но сказать, что в нем на xp не работает только звук —*это ничего не сказать.

Проблема пофиксить в том, что распределение тактов процессора и видеосистемы должно совпасть строго определенным образом. Я вчера устроил несколько довольно радикальных экспериментов и в некоторых случаях добился похожести, но не 100% соответствия. Я использую статическую картинку clrspace.com в качестве эталона.

ivagor
30.09.2009, 13:10
В ve27a относительно убедительно выглядели растровые эффекты
какой ты злой, однако :).

сказать, что в нем на xp не работает только звук —*это ничего не сказать.
Обрати внимание - слова только в моем посте нет (к слову, интересно, почему даже в DOSbox звук не работает, вернее работает только вариант со спикером). А по растровым эффектам чем он хуже b2m? И какие у тебя к нему серьезные претензии кроме звука (у меня буквально пара)?

Tim0xA
30.09.2009, 13:18
Таких эмуляторов, как я помню, штук 10 разных
Я проверил свои эмуляторы, к которым есть исходники на asm (полностью или частично). Ни один из них (Кузнецов, Вьюнов, Ашихмин+Пересадов) не дал результата, лучшего, чем у b2m.

ivagor, у тебя есть исходники к ve27a?

ivagor
30.09.2009, 13:20
ivagor, расссказывай...
дык ve27

Tim0xA
30.09.2009, 13:23
дык ve27
Скинь исходники мне на мыло, плиз.

ivagor
30.09.2009, 13:36
Отправил

svofski
30.09.2009, 14:02
ivagor, а чего ты так обостренно относишься к моему отношению к ve27a? Я ничего плохого про него не сказал. Просто под XP он не работает принципиально и почти так же принципиально, у меня по крайней мере, он не работает и под dosbox-ом -- все очень медленно, раз в 100, даже если запрещено абсолютно все, включая ви53. А так ничего, отличный наверное эмулятор. Я им много пользовался на ранних стадиях разработки, потому что в нем хороший дебуггер. Чего и b2m и VV желаю =)

ivagor
30.09.2009, 14:22
все очень медленно, раз в 100, даже если запрещено абсолютно все, включая ви53.
? А у меня почти нормальная скорость, всего процентов на 20 медленнее, чем b2m и VV (под XP, а под DOSbox очень медленно, это да). Там куча настроек, раньше у меня тоже было медленно, потом что-то подкрутил - стало нормально.


а чего ты так обостренно относишься к моему отношению к ve27a?
Ну как же, это был первый нормальный эмулятор вектора! И лучший для ДОС до сих пор.


Я им много пользовался на ранних стадиях разработки, потому что в нем хороший дебуггер.
А первый очень хороший и удобный кросс-отладчик, кое в чем опережающий ve27 и другие - tdv. Ну это я так, ностальгия, понимаешь.

b2m
30.09.2009, 14:49
Я обновил эмулятор, попытался добиться тех же мограющих эффектов, как и на видео, которое выложил Tim0xA. Однако качество видео не позволяет сравнить попиксельно :) Просьба к Tim0xA сравнить визуально похожесть эффектов с реалом.

Tim0xA
30.09.2009, 14:58
Просьба к Tim0xA сравнить визуально похожесть эффектов с реалом.
Вечером сравню. А так на первый взгляд очень похоже получилось.

ivagor
30.09.2009, 15:03
А так на первый взгляд очень похоже получилось
Кроме нижней части экрана, где шахматная текстура и улитка.

Tim0xA
30.09.2009, 15:13
Чорт, Black Ice не проверить. В нем тоже по одному разу out $0c.
В Black Ice оказывается можно включить режим многократной записи out $0c
Но проверить всё равно не получится, т.к. у меня нет ни квазика ни дисковода.
http://pic.ipicture.ru/uploads/090930/14301/Cjgks79TBT.gif



Кроме нижней части экрана, где шахматная текстура и улитка.

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

svofski
30.09.2009, 15:31
b2m, а запусти с clrspace.com - там нету движущихся изображений и все сразу понятно. Образец фотографии с Tim0xИнОгО экрана где-то рядом.

---------- Post added at 15:31 ---------- Previous post was at 15:24 ----------


А у меня почти нормальная скорость, всего процентов на 20 медленнее, чем b2m и VV (под XP, а под DOSbox очень медленно, это да). Там куча настроек, раньше у меня тоже было медленно, потом что-то подкрутил - стало нормально.
Может быть ты сделаешь дистро ve27a от ivagor-a? А то я уже не первый раз слышу какие-то общие слова вроде "надо правильно настроить", но почему-то правильных настроек ни разу ни от кого так и не увидел.

ivagor
30.09.2009, 15:36
Вот рабочий конфиг.

svofski
30.09.2009, 15:36
Black Ice можно расчленить. Думаю что у вооруженного супердебаггером ivagor-a это не займет много сил и времени. Достаточно сдампить память во время телевизорного эффекта, подправить точку входа и убрать вызовы плеера: их почему-то два. В $a000+смещение и их хорошо видно, они обрамлены клацанием портами квазидиска.

ivagor
30.09.2009, 15:42
Так понимаю, что тебе тоже не очень хочется заниматься этой "полезной, но не интересной задачей". Может я в выходные попробую, если к тому времени еще будет необходимость.

svofski
30.09.2009, 15:43
Просто у тебя это обычно ловчее всех получается =)

ivagor
30.09.2009, 15:53
Просто никому больше такой фигней заниматься неохота.

svofski
30.09.2009, 16:17
Просто никому больше такой фигней заниматься неохота.
И я это слышу от человека, который заставил меня перефотографировать экран с переделанной таблицей цветов с композитного выхода только для того, чтобы сказать мне же, что мне еще есть над чем поработать :D

b2m
30.09.2009, 17:43
а запусти с clrspace.com - там нету движущихся изображений и все сразу понятно. Образец фотографии с Tim0xИнОгО экрана где-то рядом.
Ну запустил. В общем и целом - похоже. Однако непонятно, почему буква "а" в слове "цвета" не обрезалась, и с девяткой внизу такая же картина, хотя буква "ц" - нормально. Загадка. Ты там только один цвет для букв использовал?

А ещё непонятно, каким образом сформировалась широкая полоса после буквы "а", даже шире, чем последняя колонка чёрных пикселов в этой букве.

---------- Post added at 18:43 ---------- Previous post was at 18:21 ----------

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

svofski
30.09.2009, 17:52
Мне тоже не очень-то понятно. Черный цвет в картинке только один, но полоса после буквы "а" по-моему не шире. Если мы говорим про скрин с реала. Твой фикс у меня пока не было возможности оценить.

Если по букве L судить, все вроде бы понятно. Запись происходит в цвет "предыдущего" пикселя. А вот буквы "a" и "ц" мне одинаково непонятны. В "ц" как будто бы запись в "следующий", а в "а" сразу во все.

Давно не видел схему, но подозреваю, что сигнал записи в ОЗУ палитры держится не один пиксельклок, а сильно дольше. Что при этом происходит в реальной микросхеме, кто знает? Запись по фронту происходит, или по спаду? И, например, 12МГц могут немного превышать возможности декодера адреса в микросхэме ОЗУ палитры.

---------- Post added at 17:51 ---------- Previous post was at 17:48 ----------


Блин, такое возможно лишь в случае, если цвета программируются аж для 3-х соседних точек: предпоследней и последней по горизонтали в букве "а" и следующая точка, т.к. именно она на данный момент используется и скрывает хвостик у буквы "ц".
Пропустить адрес ячейки через ФНЧ? =)

---------- Post added at 17:52 ---------- Previous post was at 17:51 ----------

И, кстати, так же ли выглядит картинка с исправлением для однократного out $c?

b2m
30.09.2009, 17:59
Обновил одну DLL-ку, теперь всё как у Tim0xA-и на фото и видео :)

---------- Post added at 18:55 ---------- Previous post was at 18:53 ----------


И, кстати, так же ли выглядит картинка с исправлением для однократного out $c?
Это которая?

---------- Post added at 18:59 ---------- Previous post was at 18:55 ----------

Кстати, насчёт трёх точек - вполне реально. Если сигнал вывода в порт длится один такт, то за это время на экране пробегают два пикселя, но если сигнал записи в порт смещён на "полпикселя", то он захватит три точки.

svofski
30.09.2009, 17:59
Вот эта:
http://pic.ipicture.ru/uploads/090929/15427/jWKCdfB4vc.jpg

Интересно, после перепаивания вектора на срабатывание от однократного out $c, изменилась эта картинка или нет?

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

b2m
30.09.2009, 18:12
С этой картинкой я и сравнивал. Теперь она у меня один в один.
Я сделал считывание номера цвета для трёх точек подряд, и меняю палитру для всех номеров цветов, которые считались.

svofski
30.09.2009, 18:21
Гы! Понятно. Но непонятен пока эквивалент происходящего в реальном мире. Вроде ОЗУ статическое асинхронное, запись по /WR, значит чтобы записать 3 раза надо подать три /WR, а не три раза поменять адрес при одном опущенном /WR...

Подождем Tim0xУ c паяльником.

b2m
30.09.2009, 18:26
Видимо запись происходит не по фронту, а по уровню, и при смене адреса запись происходит в обе ячейки, до смены адреса и после.

svofski
30.09.2009, 19:00
http://pdf1.alldatasheet.com/datasheet-pdf/view/132986/TI/SN7489N.html

Похоже, что это вполне вероятно.

b2m
30.09.2009, 19:12
Гы! Я уже читал этот документ полчаса назад :)

b2m
01.10.2009, 00:03
256 цветов на весь экран:

Tim0xA
01.10.2009, 00:44
Подождем Tim0xУ c паяльником.
Доработка из VU дала хороший результат. Картинка стабильна, палитра пишется за один раз, стали видны градации цветов.
http://i054.radikal.ru/0909/89/96d82ae74c1b.jpg
Отличие от b2m в том, что на реале растровый эффект не мелькает и не выходит на бордюр.

"8 bit snail" практически не отличается от b2m

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

"256 цветов" - картинка тоже стабильна
http://i066.radikal.ru/0909/55/73b05b266677.jpg

svofski
01.10.2009, 01:25
Хмм.. Про бордюр занятно.

Уже уснул, на телике и тюнере v06cc не успеешь посмотреть?

b2m
01.10.2009, 11:13
Мелькающие и выходящие на бордюр полосы - это артефакты эмуляции, я всё никак не могу избавиться от них. А в остальном - пиксель в пиксель.
Зато стало понятно, в каком направлении копать: они появляются при очень частом выводе в порт 0Ch.

---------- Post added at 12:13 ---------- Previous post was at 11:57 ----------

Кстати, там ошибочка у меня в 256 цветах есть, порт 02 забыл инициализировать. Исправленный вариант тут (http://bashkiria-2m.narod.ru/files/clrs.rar).

b2m
01.10.2009, 15:21
Уфф.. Кажись поборол я этот артефакт эмуляции! Качайте и сравнивайте с реальным Вектором :)

Tim0xA
01.10.2009, 15:56
Сравним :)

Кстати, есть такой вот "чудовищно быстрый скроллер" (http://www.sensi.org/~svo/scalar/ware/18/)

http://sensi.org/~svo/scalar/media/s/scroller.com.png

В эмуляторах текст совершенно нечитабельный. На реале еще не проверял.

И вдобавок о наболевшем: Попалось еще одно видео с CC'2009 (http://www.youtube.com/watch?v=1EyvffxbvaY). Демонстрируется 8-битное барахло по порядку, как выставлено. Ну думаю, хоть тут покажут фильму про любимую ПЭВМ. Но нет! Как только оператор подходит к вектору, камера отворачивается (3:00). Ну сделай еще два шага, оператор, задержись на 5 секунд, ведь там еще много интересного! Фигушки. Это какой-то заговор...

crazy_bender/ex-PLACEBO
01.10.2009, 16:20
это точно. там как раз 2 вектора были живых - "оригинал" и "реинкарнация". тот что оригинал тогда еще мой был. кста человек писал что смог его подключить :)

svofski
01.10.2009, 18:03
И вдобавок о наболевшем: Попалось еще одно видео с CC'2009 (http://www.youtube.com/watch?v=1EyvffxbvaY). Демонстрируется 8-битное барахло по порядку, как выставлено. Ну думаю, хоть тут покажут фильму про любимую ПЭВМ. Но нет! Как только оператор подходит к вектору, камера отворачивается (3:00). Ну сделай еще два шага, оператор, задержись на 5 секунд, ведь там еще много интересного! Фигушки. Это какой-то заговор...
Это еще с прошлого года так. Еще ничего. В этом году Вектор стоял в углу, но народ хоть немного ходил на него смотреть и кнопку тыкал. В прошлом году он стоял можно сказать в центре экспозиции, но все равно все умудрились обойти его так, как будто это секретный объект за съемку которого -- расстрел. Надо понимать посетителя: magic glow в ламповом усилителе -- это суперкруто (ну правда круто, как с этим поспоришь). Страдающий хореей китайский робот с синими светодиодами -- это суперкруто (вау, лошадка). А чем крут Вектор, тем более не старый прокуренный, а какой-то подозрительно ярко блестящий, обычному человеку объяснить очень трудно, потому что никаких певичных признаков крутизны у него нет. Ну штука какая-то стоит.. Какие-то буквы на ней.. И правда, чем он крут-то? ;)

@crazy_bender: Значит два живых Вектора есть =)

---------- Post added at 18:03 ---------- Previous post was at 17:55 ----------


Кстати, есть такой вот "чудовищно быстрый скроллер"
Кстати о чудовищно быстрых программах. Кроме безумного скроллера, есть еще Spy's Demise (http://sensi.org/~svo/scalar/ware/82/). Шпион в Векторовской версии носится в совершеннейшем неадеквате. Хотелось бы убедиться, что это правда так.

AlecV
01.10.2009, 19:33
svofski, подтверждаю, заговор. Объяснить не могу. Когда на прошлом СС'08 подходил к оргам и просил сделать "прямое включение" про Вектор - они начинали задумчиво смотреть сквозь меня и связь терялась.

Вероятно на следующем СС надо сделать сеть из десятка Векторов (на DE, живых и на эмуляторе), тогда произойдет разрыв.

svofski
01.10.2009, 19:35
В этом ЦЦ было включение и я сказал пару слов про Вектор. Другое дело, что говоритель из меня никакой и я не знаю, сохранилось ли это эпическое действие где-нибудь. Может оно и к лучшему, если не сохранилось =)

SKcorp.
01.10.2009, 22:33
В этом ЦЦ было включение и я сказал пару слов про Вектор. Другое дело, что говоритель из меня никакой и я не знаю, сохранилось ли это эпическое действие где-нибудь. Может оно и к лучшему, если не сохранилось =)

http://www.youtube.com/watch?v=zsEKkafyCgE&feature=player_embedded

Может следующее ЦЦ байкотировать?

svofski
01.10.2009, 23:11
омфг, этот позор все теперь увидят =)))

---------- Post added at 23:11 ---------- Previous post was at 23:00 ----------

SKcorp:


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

Tim0xA
02.10.2009, 01:06
SKcorp., спасибо за видео. Это просто бальзам на душу :)

svofski
02.10.2009, 01:58
Tim0xA, жду-не дождусь посмотреть как оно на реале.

P.S. b2m - респект, теперь ничего не мельтешит!

Tim0xA
02.10.2009, 02:24
Tim0xA, жду-не дождусь посмотреть как оно на реале.
На реале не мельтешит, а на DE1 подглючивает.
Шрифт поменялся не в лучшую сторону, конечно.

svofski
02.10.2009, 02:26
Странно, как это подглючивает? Я смотрел, было нормально.

С шрифтом ничего не поделаешь, увы.

Tim0xA
02.10.2009, 02:35
На тюнере все отлично, а вот на телеке синхронизация срывается.

svofski
02.10.2009, 02:44
А-а, ты об этом, а я уж испугался. Ну тут я не знаю даже, там все так мельтешит, вот телику и страшно =)

b2m
02.10.2009, 11:59
А буквы-то в полосочку ты не просто так сделал :)


С шрифтом ничего не поделаешь, увы.
Можно было между слов вывод в порт сделать, пробел как минимум 8 точек. Хотя для шахматки сложно будет подобрать, но там оно и так нормально смотрится.

---------- Post added at 12:59 ---------- Previous post was at 12:42 ----------

Нет, какой всё-таки шикарный тест - этот clrspace.rom
Вот был-бы "out 0Ch,a" где-нибудь в другом месте, фиг бы мы догадались про "три точки" :)

svofski
02.10.2009, 12:37
Можно было между слов вывод в порт сделать, пробел как минимум 8 точек. Хотя для шахматки сложно будет подобрать, но там оно и так нормально смотрится.
Большие буквы имеют неровный правый край и скроллятся через весь экран. То, что ты предлагаешь можно, но не в этом случае. Изначально-то получилось оттого, что хватало обычного зазора между буквами.

clrspace — да, удачно вошло. Black Ice тоже был бы полезен, если б его было попроще запустить на выживших реалах.

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

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

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

svofski
02.10.2009, 14:24
Как гасить большие буквы раньше?

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

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

Tim0xA
02.10.2009, 14:37
svofski, а музыки в демке уже не будет?

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

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

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

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

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

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

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

b2m
02.10.2009, 16:10
В это время можно делать только такие вещи, которые всегда занимают одинаковое количество циклов. Хочется, например, вызвать в это время плеер, а нельзя -- уж очень он ветвист.
Можно таймером вычислять, сколько тактов осталось ждать. 1 nop = 2 тика.

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

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

svofski
02.10.2009, 16:43
Чего-то туплю. А что будет в HL?

ivagor
02.10.2009, 16:52
А что будет в HL?
IMHO (обработанное) значение, считанное из таймера

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

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

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

svofski
02.10.2009, 16:59
Я с интересом посмотрю на пример реализации.

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

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

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

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

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

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

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

Tim0xA
04.10.2009, 00:36
Проблема осталась.

ivagor
04.10.2009, 10:08
Неофициальный хак
13586
как будет официальный - уберу

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

svofski
04.10.2009, 15:31
Вектору к лицу ВИ53.

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

b2m
05.10.2009, 11:26
Обновил эмулятор. clrslow стабилен.

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

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

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

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

svofski
06.10.2009, 16:54
Еще было бы здорово откорректировать карточки таблицы PAL и 8snail в базисе (b2m уже упоминал ранее).
b2m цинично издевался =) А откорректировать надо не карточки, а программы. Я об этом помню.

ivagor
06.10.2009, 16:55
А откорректировать надо не карточки, а программы
8snail тоже планируешь откорректировать, чтобы было как на скриншоте?

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

Tim0xA
06.10.2009, 17:14
Ну разве что про растровые эффекты?
Учитывая твой накопленный опыт было бы интересно прочитать статью на эту тему (с примерами, диаграммами, расчетами и т.п).

ivagor
06.10.2009, 17:25
На скрине 8snail сейчас буквы HULLO! сплошные.

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

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

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

Tim0xA
08.10.2009, 00:52
Неофициальный хак clrslow.zip
На реале все ОК.