Важная информация

User Tag List

Страница 1 из 4 1234 ПоследняяПоследняя
Показано с 1 по 10 из 34

Тема: Стандартизация принципов развития видеопроцессора

  1. #1
    Banned Аватар для Black_Cat
    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,646
    Благодарностей: 231
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Стандартизация принципов развития видеопроцессора

    Стандартизация принципов развития видеопроцессора.

    Спектрум на 90% – это видеопроцессор. И не удивительно, что основные критерии, определяющие компьютер как «Спектрум» – это параметры видеопроцессора.

    Основными параметрами видеопроцессора являются:
    - структура построения экрана и разрешение экранной области;
    - структура отображения цветов и количество цветов;
    - частота кадров и строк;

    1.0 Структура построения экрана и разрешение экранной области.

    Структура экранной области ZX Spectrum - довольно своеобразна. Можно выделить два критерия оценки структуры экранной области ZX Spectrum - оценка по внешней форме и оценка по внутреннему содержанию. Оценка по внешней форме предполагает критерием - подобность внешних размеров и взаимных соотношений. Оценка по внутреннему содержанию предполагает критерием - подобность внутренней структуры.
    Оценка развития ZX экрана по критерию подобности внешних размеров и взаимных соотношений предполагает соблюдение кратности размера объёма памяти экранных областей и их начальных адресов, а так-же соблюдения пропорциональности относительного размещения их частей (растровой и атрибутной областей) в адресном пространстве, а кроме того предполагает соблюдение кратности визуальных параметров изображения - вертикального и горизонтального раразрешения и соотношения сторон.
    Оценка развития ZX экрана по критерию подобности внутренней структуры предполагает деление его на три области, внутри каждой из которых используется одинаковый цикл формирования изображения. Отсюда можно сделать вывод, что минимальным неделимым дискретом в структуре экрана является его треть. Следовательно, при масштабируемом изменении пропорций экранной области, одним из условий совместимости должна быть кратность третям ZX экрана. Это условие автоматически формирует сетку допустимых разрешений при использовании эволюционного масштабирования:
    - вертикальных: 192, 256, 320, 384, 448, 512, 576, 640, 704, 768 и т.д.
    - горизонтальных: 256, 512, 768, 1024 и т.д.

    1.1 Ограничение на пропорциональность масштабироания.

    Если полученную сетку допустимых разрешений оценить с точки зрения кратности масштабирования по объёму ОЗУ экранной области (но не более объёма страницы памяти принятой в ZX Spectrum, т.е.16k), то получим следующую сетку экранных разрешений:
    - 256х192(6k), 384х256(12k);
    Ежели же полученную сетку допустимых разрешений оценить с точки зрения пропорциональности масштабирования по обеим координатам, то получим следующую сетку экранных разрешений:
    - 256х192, 512х384, 768х576, 1024х768 и т.д.
    Правомерно ли наложение условия пропорциональности масштабирования?
    И да, и нет - в зависимости от преследуемых целей. Например, работа с такой неотъемлемой частью ZX, как встроенный BASIC предполагает пропорциональное масштабирование, без которого невозможно использование его стандартных графических функций. Работа с текстом накладывают совсем другие требования, здесь общепринятым стандартом является 40/80 символов в строке, при этом матрица знакоместа символов может быть любой удовлетворяющей этому условию (например 6х8). Таким образом, исходя из назначения, полученную сетку разрешений можно условно разделить на «графические» (пропорциональные) и «текстовые» (40/80 символьные) режимы*.

    * Внимание!! Деление на «графические» и «текстовые» режимы - условно, т.к. по способу формирования изображения видеопроцессором ZX Spectrum, все режимы - графические.

    1.2 Ограничение по стандартам видеоразвёрток.

    Ещё одним ограничением, накладываемым телевизионным стандартом видеоразвёртки, является 312 строк в кадре при прогрессивной развёртке (телевизионный стандарт - 312,5 при чересстрочной). Наложение этого условия ограничивает сетку разрешений по вертикали при воспроизведении на телевизоре и CGA мониторе следующими режимами:
    - графические: 256х192, 384x256;
    - текстовые: 256х192, 384x256, 512х192, 512х256;

    1.3 Есть ли жизнь за 312 строками? Ограничение по частоте кадров.

    С точки зрения технической реализации – это возможно, хотя и имеются определённые ограничения. Рассмотрим их.

    1) Миф №8: «Священная корова Nemo».

    «Spectrum - это телевизор и только телевизор как устройство отображения» 26.11.98 © Nemo
    «Spectrum изначально (т.е. как концепция, идеология) проектировался под TV. Это основа. Подключение дисплея к Spectrum'у абсурдно. Это противоречит всей логике архитектуры. Это не спектрумовский Spectrum. Это тупиковый путь. Он ведет в никуда. От TV-экрана нельзя отказываться. Это и есть Spectrum.» 21.05.99 © Nemo

    Cпектрум действительно разрабатывался исключительно под телевизор, но... четверть века назад. А в 2012 году на территории России вещание для телевизионных приёмников, на работу с которыми был рассчитан ZX – будет полностью прекращено. С 2006 года ввоз импортных аналоговых телеприёмников в Россию запрещён. Расчётное проектное время эксплуатации бытовой техники ~6 лет. Уже давно ремонт 6 летнего телевизора дороже покупки б/у, то же и с CGA, EGA и VGA ЭЛТ мониторами - их не ремонтируют, их выбрасывают. Это не значит конечно, что тысяча «реальщиков» не смогут найти себе телевизор, это значит другое - что простой обыватель никогда впредь не купит ZX, т.к. у него в квартире его не к чему будет подключить, а курочить для этого новенький цифровик, сейчас даже в ателье не возьмутся.
    Выводы:
    - любые исторически сопряжённые во времени постулаты имеют смысл только в историческом контексте;
    - аналоговое телевидение – это уже прошедшая история;
    - ZX, только с аналоговым телевизором в качестве монитора – мёртвая конструкция без будущего.

    2) Ограничение по частоте кадров.

    Есть ли доступная замена аналоговому телевизору? Да, сейчас можно с уверенностью сказать – есть – TFT компьютерный монитор.
    Почему только «сейчас»?
    Т.к. ZX проектировался под телевизионную развёртку, то его кадровая частота =50Гц, а TFT мониторы изначально проектировались под VGA стандарт, для которого минимальная частота кадров =60Гц. До сих пор это было преградой на пути подключения ZX к VGA мониторам (хотя и преодолимой с определённым геморроем и потерей качества изображения). Но со временем электронику под многие мониторы начали выпускать унифицированную двойного применения VGA/TV и соответственно такие мониторы научились синхронизироваться по кадрам* на 50Гц.

    *Внимание!! Не следует путать частоту кадровой синхронизации с частотой обновления изображения на TFT мониторе – это взаимно независимые характеристики.

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

    1.4 VGA совместимые режимы ZX.

    В чём суть преобразования сигналов ZX->VGA? Очень упрощённо - если длительность строки изображения ZX=Tzx, то длительность строки изображения VGA(640x480@60Hz)~Tzx/2, SVGA(800x600@72Hz)~Tzx/3, XGA(1024x768@75Hz)~Tzx/4. Т.е. сжав ZX строку соответственно в 2, 3 или 4 раза – получим строку VGA, SVGA или XGA. Соответственно, для синхронизации длительности кадров, каждую укороченную строку воспроизводим 2, 3 или 4 раза подряд. Единственная, существенная нестыковка в этом методе – это частота кадров, она останется неизменной – 50Гц, но как раз это и исправляется TFT монитором. Дело в том, что истинное разрешение TFT монитора определяется разрешением его матрицы, а все разрешения не совпадающие с истинным формируются с помощью пересчёта. Фактически, аналоговый сигнал на входе такого монитора построчно преобразуется в цифру с помощью АЦП, а потом отображается на TFT матрице уже с той частотой обновления, которая удобна для матрицы. Поэтому для такого монитора кадровая частота входного сигнала не имеет значения, лишь бы его схема оцифровки смогла с ней засинхронизироваться.
    Таким образом, можем иметь следующие возможные разрешения для вывода ZX сигнала:
    1) VGA(640x480)=[256x2]x[192x2]с бордюром,
    2) VGA(640x480)=384x256 с бордюром,
    3) VGA(640x480)=512x[192x2]с бордюром,
    4) VGA(640x480)=512x256 с бордюром,
    5) VGA(640x480)=512x384 с бордюром,
    6) SVGA(800x600)=[256x3]x[192x3]с бордюром,
    7) SVGA(800x600)=[512x1,5]x[192x3]с бордюром,
    8) SVGA(800x600)=[384x2]x[256x2]с бордюром,
    9) SVGA(800x600)=[512x1,5]x[256x2]с бордюром,
    10) SVGA(800x600)=512x384 с бордюром,
    11) SVGA(800x600)=768х576 с бордюром,
    12) XGA(1024x768)=[384x2]x[256x2]с бордюром,
    13) XGA(1024x768)=[256x4]x[192x4]без бордюра,
    14) XGA(1024x768)=[512x2]x[192x4]без бордюра,
    15) XGA(1024x768)=[512x2]x[256x3]без бордюра,
    16) XGA(1024x768)=[512x2]x[384x2]без бордюра,
    17) XGA(1024x768)=1024х768 без бордюра.

    1.5 Ограничение по соотношению сторон.

    Важным условием является повторяемость соотношения сторон при формировании области изображения на разных мониторных разрешениях. Проанализировав полученные варианты можно сказать, что предложенное ZX разрешение 512х256 при воспроизведении в каждом из рассматриваемых мониторных разрешений имеет разные соотношения сторон, а значит не удовлетворяет критерию проверки и исключается из дальнейшего рассмотрения (варианты 3), 7), 12)).
    Последний раз редактировалось Black_Cat; 16.09.2008 в 04:46.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Banned Аватар для Black_Cat
    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,646
    Благодарностей: 231
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Стандартизация принципов развития видеопроцессора (продолжение).

    1.6 Архитектурные ограничения.

    Одной из стандартных возможностей архитектуры видеопроцессоров является конвертация видеорежимов по критерию «разрешение<–>глубина цвета» в рамках выделенного объёма памяти. В этом отношении принципиальное значение имеет кратность масштабирования видеоразрешений. В рассматриваемых вариантах нетрудно заметить, что для режимов VGA и XGA масшабирование видеоразрешений кратно степени основания 2, а для режима SVGA - соответственно степени основания 2 и 3. Т.е. для режимов VGA и XGA имеем: 1024x768х1bit=1024x384х2bit=512x384х4bit=512x192х8 bit=256х192x16bit. Для режима SVGA: 768х576x1bit=512x384х2bit*=512x192х4bit*=256х192x9 bit (* - в этих режимах видеопамять используется не полностью).
    Ещё одной стандартной возможностью архитектуры видеопроцессоров является разделение видеопамяти на битовые плоскости переднего и заднего плана. В отношении режимов VGA и XGA очень легко произвести единообразное для всех режимов деление на 2 битовые плоскости переднего и заднего плана, чего не скажешь в отношении режима SVGA, где используются режимы кратные степеням разных оснований. В режиме SVGA произвести такое единообразное для всех режимов деление возможно только приведением режимов к общему кратному множителю путём увеличения битности в 2 или 3 раза, что позволит иметь деление соответственно на 2 или 3 битплана.
    Выводы:
    - учитывая полноту использования выделенного объёма памяти, меньшую требовательность к объёму памяти, а также то, что выпускаемые ЦАПы для формирования видеосигнала имеют разрядность кратную основанию 2 – наиболее оптимальными вариантами является использование режимов VGA и XGA;
    - режим SVGA, как неоптимальный с точки зрения требований к ресурсам, из дальнейшего рассмотрения исключить.

    1.7 Выводы: рекомендуемые разрешения и видеорежимы при развитии видеопроцессора ZX Spectrum.

    Графические режимы:

    1) TV=256х192х16bit (стандартный TV);
    2) VGA(640x480)=[256x2]x[192x2]x16bit (стандартный с бордюром, в режиме VGA);
    3) VGA(640x480)=512x384x4bit (1 повышенное разрешение с бордюром, в режиме VGA);
    4) XGA(1024x768)=[256x4]x[192x4]x16bit (стандартный без бордюра, в режиме XGA);
    5) XGA(1024x768)=[512x2]x[384x2]x4bit (1 повышенное разрешение без бордюра, режим XGA);
    6) XGA(1024x768)=1024х768x1bit (2 повышенное разрешение без бордюра, режим XGA);

    Текстовые режимы:

    1) TV=(6х8)512х192х8bit (1 повышенное разрешение TV);
    2) VGA(640x480)=(6х8)512x[192x2]x8bit (1 повышенное разрешение с бордюром, в режиме VGA);
    3) XGA(1024x768)=(6х8)[512x2]x[192x4]x8bit (1 повышенное разрешение без бордюра, в режиме XGA);
    4) XGA(1024x768)=(12x16)1024x[384x2]x2bit (2 повышенное разрешение без бордюра, в режиме XGA);

    Такое разбиение на режимы позволяет перекрыть весь диапазон применений компьютера. При этом TV и VGA режимы ориентированы на старый софт с бордюрными эффектами, а XGA режим на перспективный софт, в котором бордюр не несёт информационной нагрузки.

    P.S. Вы просматриваете тему составленную из материалов новой рубрики "ZX Концепции". Продолжение обсуждения тем рубрики вы можете найти на:
    Soviet Union ZX Spectrum Community
    Последний раз редактировалось Black_Cat; 16.09.2008 в 03:54.

  4. #3
    Banned Аватар для Black_Cat
    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,646
    Благодарностей: 231
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Стандартизация принципов развития видеопроцессора (продолжение).

    Стандартизация принципов развития видеопроцессора (продолжение).

    2.0 Идеология развития ZX экрана.

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

    В вопросе идеологии (см. определение: http://www.zx.pk.ru/showpost.php?p=61049&postcount=113 ) важным моментом является понимание того, куда мы хотим в итоге придти и где мы находимся сейчас. По этим двум точкам и строится вектор идеологии развития. Определим эти точки применительно к видеопроцессору ZX Spectrum.

    На момент продажи прав на ZX Амстраду, ZX-видеопроцессор имел следующие особенности:

    1.0 Отправная точка.
    1.1 Экранная область в ОЗУ начиналась с адреса кратного 16k и состояла из 6k пиксельного экрана и следующих за ними 768 байт области атрибутов;
    1.2 Экранных областей существовало две – активная и теневая;
    1.3 Разрешение экранной области 256х192, разбитое на 32х24 знакоместа 8х8 пикселов;
    1.4 Видеовывод осуществлялся третями экрана с периодом 8 строк;
    1.5 8 цветов на бордюр.
    1.6 15 цветов на знакоместо и режим мигания;

    1.0 Точка назначения.
    1.1 Дополнительные (т.е. к имеющимся) экранные области в ОЗУ со стандартной раскладкой адресов начинающиеся с адреса кратного 8k (для экономии места);
    1.2 Разбивка всех экранных областей на две равные части – активную и теневую;
    1.3 Расширенные экраны кратные разрешению 256х192 или объёму памяти экранных областей (см. рекомендации: http://www.zx.pk.ru/showpost.php?p=62984&postcount=119
    http://www.zx.pk.ru/showpost.php?p=62985&postcount=120 );
    1.4 Видеовывод осуществляется третями экрана с периодом 8 строк, и познакоместно (т.е. байт на строку знакоместа при развитии по критерию подобности внутренней структуры);
    1.5 Для старых программ – возможность использовать бордюр, для новых – возможность не использовать (ввиду отсутствия такового);
    1.6.1 Битплановая организация экрана с возможностью конвертации количества битплановых плоскостей в разрешение экрана;
    1.6.2 Возможность деления битпланов на две равные части: передний (спрайтовый) и задний (тайловый) план;
    1.6.3 Возможность отказа от атрибутов как носителей информации о цвете или их модификации;
    1.6.4 Видеоускоритель с функциями скролла, зеркалирования, загрузки спрайтов;

    Примечание: для облегчения сравнения номерам пунктов отправной точки соответствуют номера пунктов точки назначения.

    Вывод: таким образом можно определить идеологию развития видеопроцессора ZX Spectrum как вектор отображения текущего множества параметров видеопроцессора на перспективное множество параметров.

    P.S. Вы просматриваете тему составленную из материалов новой рубрики "ZX Концепции". Продолжение обсуждения тем рубрики вы можете найти на:
    Soviet Union ZX Spectrum Community
    Последний раз редактировалось Black_Cat; 16.09.2008 в 04:09.

  5. #4
    Guru Аватар для Lethargeek
    Регистрация
    07.09.2005
    Адрес
    Воронеж
    Сообщений
    2,064
    Благодарностей: 203
    Записей в дневнике
    2
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Black Cat
    Спектрум на 90% – это видеопроцессор
    Видеоконтроллер. Это на восьмибитных атари видеопроцессор.
    А в принципе данное утверждение справедливо для большинства буржуйских "домашних" компов.

    Цитата Сообщение от Black Cat
    Из каких соображений проецирование экранной области на видеопамять было сделано именно так, сейчас - трудно сказать
    И нифига не трудно (любому мало-мальски кодившему должно быть понятно).
    Во-первых: минимальный размер затрачиваемой памяти в графическом режиме.
    Во-вторых: максимальная скорость вывода цветного текста (путем "подгонки" железа под z80) в этом самом графическом режиме, раз уж отдельный текстовый режим не предусматривался из соображений дешевизны. Реализовано настолько, насколько не противоречило пункту "во-первых".

    Пресловутые "трети" (или любые другие участки) тут совершенно ни при чем. Просто "так получилось". И что теперь, ориентироваться на случайность? Обычным кодерам эти "особенности" только осложняют жизнь. Вот если бы разработчики поменяли приоритет вышеуказанных пунктов, в том же разрешении пришлось бы отдать под экран уже 8 Кб (правда, сюда влезли бы и системные переменные), зато графика (а не только текст) была бы значительно быстрее, плюс можно сделать раздельный FLASH и BRIGHT. ИМХО так было бы гораздо лучше, но в начале 80-х у разработчиков (и особенно командовавших ими коммерсантов) были весьма специфические тараканы в голове.

    Если уж говорить о неотъемлемых особенностях Спека с прицелом на дальнейшее обобщение:
    1.Низкая нагрузка видеоконтроллера на систему (торможение процессора в нашем случае)
    2.Атрибуты = различная палитра для фиксированных частей экрана (мин.два цвета, мин.область 8x8)
    3.Прямой доступ ко всей видеопамяти (никак не ограниченный и именно как к памяти)
    4.Упомянутая "подгонка под 8-битный процессор", облегчающая программирование
    Из пп.3-4 вытекает необходимость битплановой организации памяти (на Спеке это минимум - одна плоскость), то есть адресация одного пиксела одним битом. Снизить нагрузку на память тоже может помочь.

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

    P.S. Про частоты я умолчал, ибо не только собс-но к Спеку относится, а и ко всем аналогичного класса компам. Но телевизор - это все-таки хорошо. Особенно ЖК.

  6. #5
    Banned Аватар для Black_Cat
    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,646
    Благодарностей: 231
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Black_Cat
    Из каких соображений проецирование экранной области на видеопамять было сделано именно так, сейчас - трудно сказать.
    Имелись ввиду трети экрана и каждая восьмая строка.
    Цитата Сообщение от Lethargeek
    Видеоконтроллер. Это на восьмибитных атари видеопроцессор.
    У меня терминология другая:
    Видеопроцессор - автомат формирования изображения, являющийся частью устройства.
    Видеоконтроллер - автомат формирования изображения, являющийся отдельным, законченным устройством.
    Цитата Сообщение от Lethargeek
    зато графика (а не только текст) была бы значительно быстрее
    Это за счёт чего? За счёт "подгонка под 8-битный процессор"? Вчём это выражается?
    Цитата Сообщение от Lethargeek
    плюс можно сделать раздельный FLASH и BRIGHT
    Что имеется ввиду, и что это даёт?
    Цитата Сообщение от Lethargeek
    1.Низкая нагрузка видеоконтроллера на систему
    Подразумевается режим
    прозрачности, т.е. разномоментности обращения к памяти?
    Цитата Сообщение от Lethargeek
    2.Атрибуты = различная палитра для фиксированных частей экрана (мин.два цвета, мин.область 8x8)
    Т.е. стандартные атрибуты?
    Цитата Сообщение от Lethargeek
    3.Прямой доступ ко всей видеопамяти (никак не ограниченный и именно как к памяти)
    Для CPU имеется ввиду? Т.е. как в ZX48 без перетасовки 16к сегментов, или как?
    Цитата Сообщение от Lethargeek
    адресация одного пиксела одним битом
    Т.е. каждому N-битному пикселу - физический адрес?
    Последний раз редактировалось Black_Cat; 04.11.2006 в 19:09.

  7. #6
    Guru Аватар для Lethargeek
    Регистрация
    07.09.2005
    Адрес
    Воронеж
    Сообщений
    2,064
    Благодарностей: 203
    Записей в дневнике
    2
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Black Cat
    Имелись ввиду трети экрана и каждая восьмая строка.
    Я заметил. Ну и что же там "трудного" для понимания?

    Цитата Сообщение от Black Cat
    Видеопроцессор - автомат формирования изображения, являющийся частью устройства.
    Видеоконтроллер - автомат формирования изображения, являющийся отдельным, законченным устройством.
    В принципе чем юла не законченное устройство?
    А "процессор" - это когда программа выполняется (как на атари).

    Цитата Сообщение от Black Cat
    Это за счёт чего? За счёт "подгонка под 8-битный процессор"? Вчём это выражается?
    Ну вот на Спеке (один раз вычислив начальный адрес) можно быстро перемещаться по всему экрану с шагом в одно знакоместо и в пределах символьной строки с шагом в один пиксел, используя в основном только inc/dec/rot. "Лишние" проверки нужны при пересечении границы символьной строки. А вот если бы видеопамять была организована не строками, а столбцами, можно было бы по всему экрану с шагом в пиксел быстро перемещаться (и по атрибутам тоже). И начальный адрес вычисляется в разы быстрее без всяких там таблиц. Вывод спрайтов/блоков тоже быстрее, потому что (помимо отстутствия лишних проверок) лучше иметь несколько длинных циклов по вертикали, чем кучу коротких по горизонтали (а циклы-то побайтовые, не попиксельные!).

    Вкратце одна из возможных схем могла быть такая: каждый столбец - 256 байт, из них 192 байта графика и 48 байт атрибуты (по два на знакоместо), в каждом атрибуте раздельный BRIGHT для INK и PAPER, а FLASH получается, если эти два атрибута не совпадают (то есть опять же можно мигать раздельно инком и папером). 16 байт в каждом столбце (всего 512) свободны, и их можно еще как-то поюзать (под те же системные переменные, например) - итого с ними восемь килобайт на весь экран. Но разрабы когда-то решили иначе - килобайтик пожалели, блин! А в результате для скорости все равно почти всегда используются таблицы, которые память жрут...

    Цитата Сообщение от Black Cat
    Подразумевается режим прозрачности, т.е. разномоментности обращения к памяти?
    Необязательно. Или "редкости" обращений. Или вообще внешней видеопамяти. Или еще чего.
    Главное, чтобы хост не простаивал зря.

    Цитата Сообщение от Black Cat
    Т.е. стандартные атрибуты?
    Как минимум "не хуже". Хотя и шибко наворачивать особого смысла не вижу.

    Цитата Сообщение от Black Cat
    Для CPU имеется ввиду? Т.е. как в ZX48 без перетасовки 16к сегментов, или как?
    Не переключая страницы при рисовании по всему (выбранному) экрану, как в оригинале. Чтобы не было уродств типа банкирования на пц (с переключением посреди строки!). Да и вообще - банки фтопку.

    Цитата Сообщение от Black Cat
    Т.е. каждому N-битному пикселу - физический адрес?
    Адресация одним битом, все как на Спеке. То есть адрес на группу из восьми пикселов.

  8. #7
    Banned Аватар для Black_Cat
    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,646
    Благодарностей: 231
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek
    Вкратце одна из возможных схем могла быть такая: каждый столбец - 256 байт, из них 192 байта графика и 48 байт атрибуты
    Т.е. если не отвлекаться на дополнительный байт атрибутов, то всё дело в структуре организации адресного пространства видеопамяти. Т.е. как расположение ячеек памяти будет видеться со стороны процессора, и если эту организацию изменить, то ты считаешь это существенно повысит производительность обработки изображения процессором (программой)? Вобщем, для каких-то пока не существующих расширенных режимов, такую организацию памяти можно сделать - здесь особых проблем нет, при этом для видеопроцессора организация памяти останется прежней.
    Цитата Сообщение от Lethargeek
    Чтобы не было уродств типа банкирования на пц (с переключением посреди строки!).
    Помоему для этого достаточно иметь 2 экрана. На одном изображение готовится, а со второго выводится, а потом они меняются местами. Или как по твоему можно обойти 16к банкирование в ZX, если весь экран допустим в каком-то новом расширенном режиме будет больше 16к?
    Цитата Сообщение от Lethargeek
    В принципе чем юла не законченное устройство?
    Законченное устройство - это типа VGA адаптера для примера, а та его часть что занимается построением изображения - это собссно и есть видеопроцессор, но кроме этого у законченного устройства есть ещё как минимум интерфейс связи с компом. Изъяв видеоконтроллер - компьютер остаётся работоспособным, а изъяв ULA - выводится полностью из строя, т.к. ULA - это его неотъемлемая часть.

  9. #8
    Activist Аватар для captain cobalt
    Регистрация
    13.03.2005
    Адрес
    Пермь
    Сообщений
    294
    Благодарностей: 4
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek
    итого с ними восемь килобайт на весь экран
    Круто.
    Это обязательно нужно донести до железнячников.
    Цитата Сообщение от Lethargeek
    Но разрабы когда-то решили иначе - килобайтик пожалели, блин!
    Вероятно, просто не догадались.
    Цитата Сообщение от Black_Cat
    это существенно повысит производительность обработки изображения процессором (программой)?
    Определённо повысит.
    Можно сравнить накладные расходы для двух случаев:

    1. Перемещение по вертикали.
    У Speccy - процедура, которая будучи заинлайнена занимает более 25 тактов, не будучи заинлайнена - более 40 тактов.
    В восьмикилобайтной модели - одна команда INC L (или DEC L), 4 такта.
    Дополнительный бонус - свободный аккумулятор и флаг переноса.

    2. Преобразование вертикальной пиксельной координаты в адрес видеопамяти.
    В восьмикилобайтной модели - 0 байт, 0 тактов. Координата в младшем байте является частью адреса.
    У Speccy обычно делают таблицу адресов всех 192 линий -- 384 (или 512) байт таблица и пара десятков тактов на каждое преобразование.

  10. #9
    Guru Аватар для Lethargeek
    Регистрация
    07.09.2005
    Адрес
    Воронеж
    Сообщений
    2,064
    Благодарностей: 203
    Записей в дневнике
    2
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Black Cat
    Законченное устройство - это типа VGA адаптера для примера, а та его часть что занимается построением изображения - это собссно и есть видеопроцессор, но кроме этого у законченного устройства есть ещё как минимум интерфейс связи с компом. Изъяв видеоконтроллер - компьютер остаётся работоспособным, а изъяв ULA - выводится полностью из строя, т.к. ULA - это его неотъемлемая часть.
    Я имел в виду, что видеоконтроллер полностью влазит в юлу (помимо прочего).
    Ну и у клонов там всяких конечно нет никакой юлы - все отдельно.

    Цитата Сообщение от Black Cat
    Помоему для этого достаточно иметь 2 экрана. На одном изображение готовится, а со второго выводится, а потом они меняются местами. Или как по твоему можно обойти 16к банкирование в ZX, если весь экран допустим в каком-то новом расширенном режиме будет больше 16к?
    Я про переключение "внутри" экрана. Самый "ходовой" режим, предназначенный для быстрой графики (дем, игрушек...) не должен банкироваться ни в коем случае. В адресном пространстве 16К при использовании битплановой организации памяти можно получить разрешение порядка 400x300 (примерно соответствует телевизору). В больших разрешених - да, надо экран разбивать, но там о скорости и так уже речь не идет. ИМХО Спеку вообще особо большие разрешения не нужны, когда песюков навалом (и уж точно не нужны для всяких "казуальных" применений). Главное - чтобы кодить было легко и приятно.

    Цитата Сообщение от captain cobalt
    Это обязательно нужно донести до железнячников.
    Я и пытаюсь - в закрытом разделе. Причем в куда более навороченном виде.
    А то, что я тут описал (столбцовая организация как таковая) - у меня сильное подозрение, что так и было сделано в некоторых советских компах (Вектор, Орион?), только без атрибутов, конечно.

  11. #10
    Banned Аватар для Black_Cat
    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,646
    Благодарностей: 231
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek
    Самый "ходовой" режим, предназначенный для быстрой графики (дем, игрушек...) не должен банкироваться ни в коем случае.
    Тогда самый ходовой режим - это будет два ZX экрана (отбросим экзотические разрешения), которые можно расположить либо удвоив разрешение, либо количество цветов на пиксель. А если битпланов не 2, а 4, 8, 16? Тут разве что только с аппаратными ухищрениями можно остаться в адресном пространстве одного банка.
    Последний раз редактировалось Black_Cat; 11.11.2006 в 15:44.

Страница 1 из 4 1234 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 21
    Последнее: 27.09.2008, 12:48
  2. Ответов: 73
    Последнее: 18.09.2008, 03:35

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •