User Tag List

Показано с 1 по 10 из 443

Тема: Пишу шедевр для «Вектора 06Ц»

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Это мультиколор, или растровые эффекты. Для них процессору приходится выводить код цвета в регистр $0c синхронно с ходом луча. Для наших целей можно считать, что out 0c выводит цвет прямо в ЦАП. Если на экране черный фон и мы делаем mvi a, $ff \ out $0c в момент, когда луч находится посередине 1-й строки, мы увидим переход с черного на белый несмотря на то, что в видеопамяти по прежнему все нули.

    В игре это использовать сложно, потому что это делается процессором, а единственная точка синхронизации -- это кадровое прерывание. Оттуда можно только считать такты. Будет либо колоссальная потеря времени в цикле задержки, либо код должен быть написан так, что все его ветвления занимают одно и то же время, либо на собственно работу программы останется время только от непосредственно после последнего мультиколорного out до следующего прерывания. Сложно, но можно. Можно представить себе игру, в которой обработка требуется минимальная, код разбит на маленькие корутины, которые гарантировано успевают исполниться в нижней половине экрана, а большая часть экрана при этом занята каким-то мультиколорным эффектом.

    На самом деле есть еще способ синхронизации, примененный в Exolon (но не для мультиколора) — поскольку таймер считает синхронно с процессором, его можно использовать для определения положения луча на экране. Пока я ни разу не видел, чтобы это было применено для растровых эффектов и боюсь, что может быть не получится попасть ровно в нужное место просто потому, что одна только инструкция in - это 12 тактов и точность определения таким образом получается +/- полстроки.
    Больше игр нет

    Эти 3 пользователя(ей) поблагодарили svofski за это полезное сообщение:

    electroscat(23.07.2020), metamorpho(25.06.2020), parallelno(01.07.2022)

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

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

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

Похожие темы

  1. Бейсики для Вектора-06Ц и клонов
    от ivagor в разделе Вектор
    Ответов: 696
    Последнее: 25.10.2025, 02:34
  2. Картотека ПО для Вектора-06ц
    от svofski в разделе Вектор
    Ответов: 719
    Последнее: 04.04.2024, 11:13
  3. Восстановление Вектора-06ц
    от Daniil Chislov 86 в разделе Вектор
    Ответов: 100
    Последнее: 11.03.2021, 00:23
  4. Ответов: 198
    Последнее: 26.04.2020, 13:05
  5. Ответов: 58
    Последнее: 06.07.2019, 23:56

Ваши права

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