Page 2 of 20

Re: TS-Conf F.A.Q.

PostPosted: Fri, 03.05.2013 13:50:36
by Sergey78
320 это строки, 224 это такты 3.5 МГц по горизонтали.

Re: TS-Conf F.A.Q.

PostPosted: Fri, 03.05.2013 14:07:18
by TS-Labs
Buyan wrote:у меня тут несколько нубских вопросов

1. 224 такта в строке, 320 строк в растре. Это "размеры" видеосигнала с учетом всех бланков, синхр и тд, а не видимой части изображения.
Отсчет по строке: 44 такта бланк, 180 - картинка
Отсчет по растру: 32 строки бланк, 288 - картинка.
2. 896, но в тактах 14мгц не меряй, ибо они тормозятся.
3. Пишешь значение. Зетник обработает вылет на прерывание так (псевдокод):
ld H, I
ld L, INTVect
ld E, (HL)
inc HL
ld D, (HL)
jp (DE)

Re: TS-Conf F.A.Q.

PostPosted: Fri, 03.05.2013 19:01:58
by Buyan
TS-Labs wrote:224 такта в строке, 320 строк в растре. Это "размеры" видеосигнала с учетом всех бланков, синхр и тд, а не видимой части изображения.
Отсчет по строке: 44 такта бланк, 180 - картинка
Отсчет по растру: 32 строки бланк, 288 - картинка.

Эх, вот так и разбиваются мечты. Я, наивный, думал, что можно чуть ли ни на "любой пиксель" обработчик прерывания повесить. Такие эффекты в голове рисовались уже :confused:

Re: TS-Conf F.A.Q.

PostPosted: Fri, 03.05.2013 21:57:25
by Black_Cat
Вопрос аффтару: в сраче было упоминание особой гордости за то, что все порты сидят на одном основании #xxAF (кстати конфликтном, которое можно было без проблем выбрать и с безконфликтным адресом), а в чём по твоему состоит достоинство такого подхода по сравнению с использованием стандартных, исторически устоявшихся портов?

Re: TS-Conf F.A.Q.

PostPosted: Sat, 04.05.2013 03:29:57
by TS-Labs
Buyan wrote:Я, наивный, думал, что можно чуть ли ни на "любой пиксель" обработчик прерывания повесить.

Ты можешь повесить ИНТ на ЛЮБОЙ четный пиксель (спектрумский пиксель - 7МГц, разрешение ИНТа - 3.5).
И не только на "пиксель", а и область, где пиксели еще не рисуются - бланки.
Black_Cat wrote:а в чём по твоему состоит достоинство такого подхода по сравнению с использованием стандартных, исторически устоявшихся портов?

Пройдите пожалуйста в отдел исторических справок, мы тут работаем.

Re: TS-Conf F.A.Q.

PostPosted: Wed, 15.05.2013 21:59:47
by Buyan
TS-Labs wrote:Ты можешь повесить ИНТ на ЛЮБОЙ четный пиксель (спектрумский пиксель - 7МГц, разрешение ИНТа - 3.5).

Вроде с половиной фич более-менее разобрался. Осталось спрайты и дма попробовать.
Небольшой пример моего говнокода в аттаче. Кто угадает как работает (без дизасма), тот молодец :)

Re: TS-Conf F.A.Q.

PostPosted: Thu, 16.05.2013 01:13:12
by LessNick
Buyan wrote:Небольшой пример моего говнокода в аттаче.


Весьма не плохо :) Жаль только артефакты есть… Пиши дему! :)

Re: TS-Conf F.A.Q.

PostPosted: Thu, 16.05.2013 08:04:22
by Sergey78
Что за артефакты?

Re: TS-Conf F.A.Q.

PostPosted: Thu, 16.05.2013 08:13:10
by TS-Labs
Круть ваще.
Помойму пришло время писать доку по конфигурации. :)

Re: TS-Conf F.A.Q.

PostPosted: Thu, 16.05.2013 08:14:08
by TS-Labs
Sergey78 wrote:Что за артефакты?

Видимо пиксели по краям букаф. Дык для теста ок.

Re: TS-Conf F.A.Q.

PostPosted: Thu, 16.05.2013 10:16:45
by Buyan
TS-Labs wrote:Видимо пиксели по краям букаф. Дык для теста ок.

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

Re: TS-Conf F.A.Q.

PostPosted: Thu, 16.05.2013 10:32:13
by Sergey78
Примерно представляю. Каждую строку меняется GXOffs по синусу или еще как-то, на тайловом слое нарисована маска в виде надписи.

Re: TS-Conf F.A.Q.

PostPosted: Thu, 16.05.2013 11:13:42
by Buyan
Sergey78 wrote:Примерно представляю. Каждую строку меняется GXOffs по синусу или еще как-то, на тайловом слое нарисована маска в виде надписи.

Точно, надпись прозрачная тайловая, а инт в каждой строке задает смещение для каждой линии фона. Совсем просто.

Re: TS-Conf F.A.Q.

PostPosted: Thu, 16.05.2013 22:44:00
by TS-Labs
Buyan wrote: Мне больше интересно - кто нибудь на глаз представляет как это сделано

Ну ваще:
1. Строчные инты, меняют GXOffs для графла. Огонь нарисован графикой.
2. Надпись сверху тайлами или спрайтами (я подумал - тайлами).
ЗЫ. Твой ответ не читал =)

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

Re: TS-Conf F.A.Q.

PostPosted: Fri, 17.05.2013 07:55:11
by Buyan
TS-Labs wrote:Огонь нарисован графикой.

Огонь, какой огонь ? Там кленовые листья :D При тех условиях и дефолтной палитре, туда че не засунь - выглядеть будет примерно одинаково.

На самом деле, помимо доков, на начальмом этапе конечно не хватает еще и тулзы какой нибудь для переноса графики под конфу. По крайней мере для меня это явилось нетривиальной задачей. Сколхозил пока себе конвертер BMP 512x512x16c в битмап, режу на 8 кусков потом и гружу сколько надо, но уже нужно что-то более универсальное городить. Такие вопросы могут чертовски сильно отвлекать мне подобных ленивых ламокодеров от выполнения основной задачи - учиться кодить под конфу.

Re: TS-Conf F.A.Q.

PostPosted: Fri, 17.05.2013 08:15:34
by Sergey78
Необязательно 512х512 делать. Можно 320х240 построчно грузить, а потом с помощью DMA в формат экрана преобразовывать.

Re: TS-Conf F.A.Q.

PostPosted: Fri, 17.05.2013 11:34:24
by Buyan
Sergey78 wrote:Необязательно 512х512 делать. Можно 320х240 построчно грузить, а потом с помощью DMA в формат экрана преобразовывать.

Да это понятно, грузить можно по сколько угодно, куда угодно и в любом порядке. Я не про это говорил.

Позволю себе немного прозы.. Вот взять к примеру меня. Если у меня понимание асма и навыки программирования под недокомпы более менее еще сохранились, то в программировании на ПЦ я чуть больше чем ноль. И вот Breeze наваял крутую статью про TS-графмоды, я картинки посмотрел, сразу стало все ясно-понятно, захотелось начать кодить. И вот я хочу уже подвигать свою картинку по экрану, уже 10 команд на асме готовы для этого, вот только.. картинки то нет :D
Что я делаю, чтобы она появилась? Приходится изучать структуру bmp, всякие файлхедеры-инфохедеры, ставить дельфы, вспоминать паскаль, городить огород, получать рабочий результат, плеваться от его корявости, потом находить аналогичное решение на purebasic'e, разбираться в его командах, править под себя, получать на выходе заветный бинарник с картинкой :ura: . На все про все у меня ушел день, с перерывами на работу и перекуры. И это был один из редких моментов, когда энтузиазм победил лень, ибо чаще бывает наоборот. Поэтому я считаю, что наличие определенных утилит могло бы заметно облегчить некоторым вхождение в программирование ТС-конфы.

Re: TS-Conf F.A.Q.

PostPosted: Fri, 17.05.2013 11:53:04
by r0bat
а че так заморачиваться? переворачичай бмп в редакторе и отрезай хедер, вот тебе и битмап. правда остается вопрос с палитрой, тут какая нибудь тулза не помешала бы.

а, и еще, редакторы умеют сохранять в raw, а это тупо растр, но это относится только к 256ц, 16ц не получается.

Re: TS-Conf F.A.Q.

PostPosted: Fri, 17.05.2013 11:58:38
by Sergey78
Buyan wrote:Поэтому я считаю, что наличие определенных утилит

Например? Что должно быть на входе, что на выходе?

Re: TS-Conf F.A.Q.

PostPosted: Fri, 17.05.2013 12:39:33
by Buyan
r0bat wrote:переворачичай бмп в редакторе и отрезай хедер

Гениально XD
Sergey78 wrote:Что должно быть на входе, что на выходе?

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

Re: TS-Conf F.A.Q.

PostPosted: Tue, 04.06.2013 20:43:16
by Buyan
Чето все до спрайтов никак руки не доходили. Собрался тут попробовать, смотрю в интуитивно понятный эксель и туплю - координаты спрайтов относительно чего задаются?

Re: TS-Conf F.A.Q.

PostPosted: Tue, 04.06.2013 21:31:12
by N_S
есть же мулятор и метод научного тыка.

Re: TS-Conf F.A.Q.

PostPosted: Tue, 04.06.2013 22:02:59
by Buyan
N_S wrote:есть же мулятор и метод научного тыка.

Метод тыка мне пока что показал, что координаты привязаны к углу экрана и никакие оффсеты на них не действуют. Сие несколько огорчает.

Re: TS-Conf F.A.Q.

PostPosted: Tue, 04.06.2013 22:03:36
by Sergey78
Buyan wrote:координаты спрайтов относительно чего задаются?

Относительно рамки с изображением. От верхнего левого угла.

Re: TS-Conf F.A.Q.

PostPosted: Tue, 04.06.2013 23:27:10
by TS-Labs
Buyan wrote:координаты спрайтов относительно чего задаются?

0,0 - верхний левый пиксель пиксельной области.
Buyan wrote:координаты привязаны к углу экрана и никакие оффсеты на них не действуют

А какие офсеты для спрайтов могут быть кроме их координат?
Ну теоретически можно глобальный офсет для ВСЕХ спрайтов, тока зачем?..