Page 1 of 1

Мультикоролы

PostPosted: Sun, 07.07.2013 12:58:07
by moroz1999
Помогите, пожалуйста, инфой:
1. Успевает ли спектрум 128 показывать мультигигаскрин картинки с разрешением аттрибутов 8*2 на весь экран? Какие есть ограничения?
2. Возможно ли это для машин с медленной памятью?
3. Какой максимум выжимается из 48?

Re: Мультикоролы

PostPosted: Sun, 07.07.2013 13:17:31
by Black_Cat
moroz1999 wrote:1. Успевает ли спектрум 128 показывать мультигигаскрин картинки с разрешением аттрибутов 8*2 на весь экран?

Тупо подряд - ясен перец - нет. Где-то Алонекодер писал, что максимум 24 или 22 знакоместа подряд (если не изменяет склероз). Но если изменение атрибутов разделить на две строки - то может получиться. При этом блоки 8х2 в чётных знакоместах будут смещены относительно блоков 8х2 в нечётных знакоместах на одну строку, т.е. сдвиг на полблока по вертикали.

Re: Мультикоролы

PostPosted: Sun, 07.07.2013 13:31:39
by moroz1999
или это ограничение было для 8*1?

Re: Мультикоролы

PostPosted: Sun, 07.07.2013 13:34:23
by Black_Cat
moroz1999 wrote:или это ограничение было для 8*1?

Это ограничение по быстродействию, т.е. низзя подряд кинуть более чем сколько-то атрибутов в строке перед лучом. А если не подряд, а с интерливом 2, или если не получится - с интерливом 3 (блоки будут ступеньками) - мож и срастётся.

Re: Мультикоролы

PostPosted: Sun, 07.07.2013 13:39:38
by moroz1999
Все правильно, я как раз и пытаюсь определиться, сколько можно успеть.
Допустим, у нас уже есть на экране ряд аттрибутов.
1. Луч рисут первый ряд.
2. Луч начинает рисовать второй ряд.
3. Мы начинаем вслед за ним обновлять аттрибуты
4. Луч заканчивает рисовать второй ряд и приступает к третьему.
5. Мы заканчиваем обновлять аттрибуты, пока он нас не догнал.

Почти два ряда хода луча по времени получается, правильно? То есть почти 448 такта, если обновлять только каждый второй ряд? Тогда должно хватить?

Re: Мультикоролы

PostPosted: Sun, 07.07.2013 13:43:10
by Black_Cat
moroz1999 wrote:3. Мы начинаем вслед за ним обновлять аттрибуты

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

Re: Мультикоролы

PostPosted: Sun, 07.07.2013 13:44:46
by moroz1999
Похоже, пора мне мультиколор осваивать.

Re: Мультикоролы

PostPosted: Sun, 07.07.2013 13:47:58
by Black_Cat
moroz1999 wrote:Почти два ряда хода луча по времени получается, правильно? То есть почти 448 такта, если обновлять только каждый второй ряд? Тогда должно хватить?

1) Аттрибуты всегда обновляются перед лучом.
2) В чётных строках обновляются атрибуты чётных знакомест, а в нечётных строках обновляются атрибуты нечётных знакомест. Т.е. имеем только 16 записей на строку.

Re: Мультикоролы

PostPosted: Sun, 07.07.2013 13:52:34
by moroz1999
Black_Cat wrote:1) Аттрибуты всегда обновляются перед лучом.

Это какая-то особенность, связанная с железом?

Re: Мультикоролы

PostPosted: Sun, 07.07.2013 13:55:19
by moroz1999
пошел курить zx-guide, там всё расписано.

Re: Мультикоролы

PostPosted: Sun, 07.07.2013 13:56:37
by Black_Cat
При гигаскрине, можно в каждом следующем кадре менять порядок, типо - в чётных строках обновляются атрибуты нечётных знакомест, а в нечётных строках обновляются атрибуты нчётных знакомест. Получим наложение со сдвигом - мож будет интересный новый эффект :)

Re: Мультикоролы

PostPosted: Sun, 07.07.2013 13:57:32
by Black_Cat
moroz1999 wrote:Это какая-то особенность, связанная с железом?

Это так программный мультиколор работает, и по другому он не может

Re: Мультикоролы

PostPosted: Sun, 07.07.2013 13:58:03
by moroz1999
http://zxdn.narod.ru/coding/zg2mchow.txt
Чудненько. Иногда необходимо озвучить вопрос вслух, чтобы понять, где искать.
Идеальный размер мульти-
колорного знакоместа - 1x8 пикселей - на
нетурбированной машине недостижим для все-
го экрана. Часто используется знакоместо
2x8 - мажь хоть весь экран,еще время оста-
нется. Режим 4x8 ещё проще - нужно просто
переключать экранные странички.

Re: Мультикоролы

PostPosted: Sun, 07.07.2013 14:05:55
by moroz1999
Black_Cat wrote:вообще-то атрибуты как я понимаю обновляются перед лучом, а не за ним, иначе ты увидишь их токо в следующем кадре.

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

Re: Мультикоролы

PostPosted: Sun, 07.07.2013 14:12:21
by Black_Cat
moroz1999 wrote:Всё, я понял, что ты имел в виду. Обновляя байты за лучом, мы увидим их, когда луч будет рисовать следующую строки из этого же знакоместа.

или в следующем кадре, если строка была последняя в знакоместе. Кароче - в программном мультиколоре писать атрибуты надо впереди луча!

Re: Мультикоролы

PostPosted: Sun, 07.07.2013 14:22:20
by Black_Cat
Да, при интерливе 2 писать атрибуты надо начинать на одну строку раньше экрана.

Re: Мультикоролы

PostPosted: Sun, 07.07.2013 16:12:02
by g0blinish
странно вы щитаете, господа. а переключение двух экранов не работает, не?

Re: Мультикоролы

PostPosted: Sun, 07.07.2013 16:22:16
by Black_Cat
g0blinish wrote:странно вы щитаете, господа. а переключение двух экранов не работает, не?

не, потому что вопрос был про мультигигаскрин, т.е. мультиколор+гигаскрин:
moroz1999 wrote:1. Успевает ли спектрум 128 показывать мультигигаскрин картинки с разрешением аттрибутов 8*2 на весь экран?

Re: Мультикоролы

PostPosted: Mon, 12.08.2013 03:26:15
by introspec
moroz1999 wrote:1. Успевает ли спектрум 128 показывать мультигигаскрин картинки с разрешением аттрибутов 8*2 на весь экран? Какие есть ограничения?
2. Возможно ли это для машин с медленной памятью?

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

moroz1999 wrote:3. Какой максимум выжимается из 48?

На 48к только что поставили новый рекорд ширины мультиколора 8х1: 20 знакомест в ширину.
Для 8х2 можно, конечно, успеть больше. Но времени реально не так много и самая быстрая заливка бежит навстречу лучу. Я не верю в возможность полноэкранного мультиколора 8х2 на 48-й машине. Шире 20 знакомест? наверняка. Но не 32 знакоместа.
Внимание, я сейчас говорил про "чистый" мультиколор. В случае 48к гигамульти по сложности эквивалентен, просто в чередующихся кадрах придётся ещё и чередовать конкретный набор атрибутов. Т.е. ответ для гигамульти на 48к в точности тот же, что и ответ для мультиколора.

Re: Мультикоролы

PostPosted: Mon, 12.08.2013 11:37:10
by Black_Cat
introspec wrote:На 48к только что поставили новый рекорд ширины мультиколора 8х1: 20 знакомест в ширину.

Вааще-то это не рекорд :) Рекорд - то-ли 22, то-ли 24 не помню..

Re: Мультикоролы

PostPosted: Mon, 12.08.2013 12:07:29
by g0blinish
БК ты каждой бочке затычка штле?

Re: Мультикоролы

PostPosted: Mon, 12.08.2013 12:12:01
by introspec
Black_Cat wrote:Вааще-то это не рекорд Рекорд - то-ли 22, то-ли 24 не помню..

Для мультиколора копированием - рекорд, причём такой, который уже точно никто никогда не побьёт.
Для 22 или 24 нужна либо быстрая память, либо ограничения по числу цветов.

Да, кстати, чувак сделавший 20 знакомест 8х1 на 48к разошёлся, и накодил уже (на всё том же WoS) 30 знакомест в ширину 8х2 для 48к! Я, если честно, очень приятно удивлён - не ждал, что удастся так близко подойти к полноэкрану.

Re: Мультикоролы

PostPosted: Mon, 12.08.2013 12:29:20
by Black_Cat
introspec wrote:Для мультиколора копированием - рекорд, причём такой, который уже точно никто никогда не побьёт.

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

introspec wrote:Да, кстати, чувак сделавший 20 знакомест 8х1 на 48к разошёлся, и накодил уже (на всё том же WoS) 30 знакомест в ширину 8х2 для 48к!

Опять же, скорее это для вейтовых компов, потому как для Пента полноэкранка 8х2 не проблема

Re: Мультикоролы

PostPosted: Mon, 12.08.2013 12:36:13
by introspec
Все виды классики - вейтовые. Совместимость с классикой автоматически вынуждает брать её как наименьшее общее кратное.