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

User Tag List

Показано с 1 по 9 из 9

Тема: Эффект на бордюре из Insult megademo

  1. #1
    Member
    Регистрация
    14.11.2006
    Адрес
    Kazan
    Сообщений
    58
    Благодарностей: 0
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Эффект на бордюре из Insult megademo

    Приветствую

    Объясните плиз, принцип работы этого эффекта из скрытой части демы.
    Понятно, что OUT X, Y
    Хотелось бы подробнее

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

  3. #2
    Guru Аватар для AAA
    Регистрация
    06.04.2005
    Адрес
    Земля, Москва, Марьино
    Сообщений
    21,508
    Благодарностей: 5883
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Войди в профиль VNN, напиши ему письмо, и он тебе все все расскажет про бордер, он мастер спорта международного класса по бордеру. И все исходники есть.

  4. Этот пользователь поблагодарил AAA за это полезное сообщение:
    black_ninja (06.01.2011)

  5. #3
    Master
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    880
    Благодарностей: 470
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Во времена Спектрума использовались только мониторы и телевизоры на базе кинескопа (электронно-лучевой трубки), поэтому все компьютеры должны были работать исходя из принципа формирования изображения на экране кинескопа. Суть проста. Электронный луч проходит по экрану слева направо. Дойдя до конца экрана, он возвращается назад и смещается на одну строку вниз. И так по всей площади экрана: луч сканирует экран слева направо и сверху вниз, построчно. При этом луч обходит весь экран за 1/50 секунды, а одну строку луч проходит за время, равное 1/15600с.

    Экран кинескопа покрыт изнутри материалом, который светится при воздействии электронного луча. Так что каждая точка экрана, где побывал луч, начинает светиться, но светится она очень недолго. Человеческий глаз воспринимает на экране цельное изображение за счет того, что луч постоянно проходит в каждой точке экрана и вызывает там повторное свечение, и частота мигания экрана достаточно велика (50Гц), чтобы нетренированный глаз не заметил подвоха.

    Изображение формируется на экране за счет модуляции луча. Например, чтобы в центре экрана было яркое пятно, нужно увеличивать мощность луча всякий раз, когда он проходит по центру экрана, и уменьшать когда он проходит на периферии. Модуляцией луча занимается электроника в телевизоре или мониторе, но делает она это в соответствии со входным сигналом, поступающим от компьютера. Компьютер "знает", где в каждый момент находится луч, и выдает на видеовыходе сигнал, соответствующий требуемой яркости точки в данном месте экрана.

    Вышесказанное справедливо для черно-белого кинескопа; в цветных кинескопах принцип тот же самый, но имеется три электронных луча, соответствующих базовым цветам (красный-R, зеленый-G, синий-B), которые движутся по экрану синхронно, а модулируются индивидуально. Для их модуляции используется три входных сигнала на входе монитора (R,G,B).

    Каким образом компьютер формирует эти сигналы?
    При отображении экранной области специальная схема внутри компьютера считывает содержимое памяти в экранной области и выдает, в соответствии со считанной информацией, нужные напряжения на выходные сигналы R,G,B, соответствующие требуемым яркости и цвету точки, в которой в данный момент находится луч.

    При отображении бордюра эта схема не считывает содержимое видеопамяти, а все время выдает на выходные сигналы содержимое регистра бордюра (порт FE), то есть одно и то же значение. Поэтому весь бордюр, если быстро не изменять содержимое этого регистра, имеет один и тот же постоянный цвет.

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

    Возможности Z80 при формировании изображения на бордюре очень ограничены из-за того, что недостаточно скорости вывода в порт FE. Ведь на отображение каждой точки экранной области уходит время, равное 1/7000000 секунды, т.е. частота следования точек составляет 7МГц.

  6. #4
    Activist
    Регистрация
    01.08.2006
    Адрес
    Волгоград
    Сообщений
    304
    Благодарностей: 130
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Возможности Z80 при формировании изображения на бордюре очень ограничены из-за того, что недостаточно скорости вывода в порт FE. Ведь на отображение каждой точки экранной области уходит время, равное 1/7000000 секунды, т.е. частота следования точек составляет 7МГц.
    Напишите кто-нибудь конкретные цифры! Сколько линий до основного экрана значением BORDER заполняется, сколько после, каково максимальное разрешение по горизонтали "пикселя" BORDER (я так думаю 8 пикселей обычного горизонтального разрешения или меньше)?

  7. #5
    Master
    Регистрация
    07.10.2006
    Адрес
    Павлоград, Днепропетровская обл., Украина
    Сообщений
    750
    Благодарностей: 305
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

  8. #6
    Guru Аватар для VNN_KCS
    Регистрация
    11.10.2007
    Адрес
    Донецкая обл. г.Енакиево
    Сообщений
    2,316
    Благодарностей: 755
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Syntal Посмотреть сообщение
    Напишите кто-нибудь конкретные цифры! Сколько линий до основного экрана значением BORDER заполняется, сколько после, каково максимальное разрешение по горизонтали "пикселя" BORDER (я так думаю 8 пикселей обычного горизонтального разрешения или меньше)?
    По Пентагону так - 224 такта на 1 горизонтальную линию. 80 линий от начала прорисовки бордюра, до основного экрана. Всего в растре 320 линий. Получаем,что бордюр после основного экрана имеет 320-(80+196)=44 линии.

    ---------- Post added at 22:20 ---------- Previous post was at 22:13 ----------

    За 1 такт Пентаго "рисует" 2 пиксела не бордюре. Получается, что в одной линии 448 пикселов. Только 2 пиксела "нарисовать" на бордюре не получится никак. Потому, что команда, выполняемая за минимальное число тактов = 4такта. А это уже 8 пикселов. А ещё в порт надо заслать цвет. А это минимум 12 тактов(OUT (#FE),A). OUTI - так вообше 16 тактов. Вот такая арифметика.

  9. Эти 2 пользователя(ей) поблагодарили VNN_KCS за это полезное сообщение:
    BYTEMAN (07.01.2011), Syntal (06.01.2011)

  10. #7
    Master
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    880
    Благодарностей: 470
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Syntal Посмотреть сообщение
    Напишите кто-нибудь конкретные цифры!
    Эти цифры на каждом клоне Спектрума различаются, отсюда проблемы с совместимостью бордюрных эффектов. Если программа рассчитана на один клон, то на другом она может создать неправильное изображение.
    Цитата Сообщение от Syntal Посмотреть сообщение
    каково максимальное разрешение по горизонтали "пикселя" BORDER (я так думаю 8 пикселей обычного горизонтального разрешения или меньше)?
    Это тоже зависит от конкретной схематики клона. Поскольку я детально изучал только схему "Орель БК-08", то могу ответить за нее. Да, там максимальное разрешение по горизонтали - это 8 пикселей обычного горизонтального разрешения, потому что цвет бордюра, который попадает на видеовыход компьютера, берется не непосредственно из регистра бордюра, а из промежуточного регистра, который обновляется 1 раз на 8 пикселей. В других клонах может быть иначе. Максимальное теоретически достижимое разрешение составляет 2 пикселя, т.к. управлять программой Z80 можно с дискретностью в 1 такт частоты процессора 3,5МГц.

    Конечно, иметь на бордюре вертикальную полосу шириной в 2 пикселя невозможно по причинам, которые объяснил VNN_KCS. Но можно в принципе иметь наклонную линию, которая смещается на 2 пикселя от строки к строке.

  11. #8
    Master
    Регистрация
    07.10.2006
    Адрес
    Павлоград, Днепропетровская обл., Украина
    Сообщений
    750
    Благодарностей: 305
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    На оригинальном спектруме цвет бордюра вроде как тоже изменяется 1 раз на 8 пикселей - проверено на эмуляторе Спектакуляторе.

    А насчёт наклонной линии со смещением 2 пикселя от строки к строке - это возможно, только если цвет бордюра читается каждые два пикселя. На Пентагоне, похоже, так.

  12. #9
    Guru Аватар для VNN_KCS
    Регистрация
    11.10.2007
    Адрес
    Донецкая обл. г.Енакиево
    Сообщений
    2,316
    Благодарностей: 755
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от weiv Посмотреть сообщение
    А насчёт наклонной линии со смещением 2 пикселя от строки к строке - это возможно, только если цвет бордюра читается каждые два пикселя. На Пентагоне, похоже, так.
    На оригинальном Спеке наклонную линию получить нельзя наверное. Во всяком случае те эффекты, что я делал идут со смещением в 8 пикселов. Где-то слышал, что оригинальный Спек "выравнивает разницу в 1 такт до 4-х тактов. Правда точно я не уверен.

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

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

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

Похожие темы

  1. Ответов: 316
    Последнее: 26.12.2012, 16:20
  2. Необычный эффект
    от NVitia в разделе Музыка
    Ответов: 6
    Последнее: 06.10.2010, 12:43
  3. Полосы на бордюре - принцип эмуляции
    от Виктор в разделе Эмуляторы
    Ответов: 14
    Последнее: 20.04.2009, 02:38
  4. Эффект зума скроллеров.
    от drbars в разделе Программирование
    Ответов: 4
    Последнее: 17.08.2008, 12:08
  5. Эффект линзы
    от newart в разделе Программирование
    Ответов: 17
    Последнее: 31.07.2008, 22:20

Ваши права

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