User Tag List

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

Тема: Новый графический режим для игр

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

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

    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    67
    Поблагодарили
    52 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Давайте пока отложим способы формирования сцены игры в буфере экрана. Надо время все обдумать. Наверно найдем приемлемый вариант. А пока спроектируем вывод из буфера экрана в регистр RGB. Для начала будем считать, что у нас один буфер экрана с картинкой 320х240 точек по 15 бит на цвет. Потом доработаем для 4х буферов с врезанием экрана с динамической графикой в экран со статической графикой.

    Для хранения информации о цвете точек в строке организуем во внутренней памяти FPGA буфер VGA размером 320 ячеек по 15 бит. Из SDRAM будем читать данные пакетами по 8 точек (1 точка за такт) с паузами (по 6 и более тактов) и записывать в буфер VGA. После записи каждой точки в буфер VGA счетчик записи увеличивается на 1. Как только сделано 320 записей - буфер полон. Больше читать из буфера экрана не надо.

    Для адресации в буфере VGA во время чтения используем счетчик чтения. Так как читать из буфера VGA можно только тогда, когда он свободен от записи из SDRAM - нужно добавить между буфером VGA и регистром RGB небольшой буфер FIFO. Из регистра RGB будем отправлять данные о цвете точки через HDMI или аналоговые ЦАПы типа R-2R на монитор. Это уже будет зависеть от реализации конкретной видеокарты или девборды. В остальном, кроме типа выхода на монитор, новый видеорежим должен работать одинаково на всех устройствах.

    Во время строчного синхроимпульса VGA будем сбрасывать счетчики записи и чтения из буфера VGA, а также проводить регенерацию SDRAM. Достаточно сделать 3 цикла AUTO REFRESH в начале каждой строки VGA. Затем, во время левого бордера в строке начинаем заполнение буфера VGA данными о цвете точек из буфера экрана в SDRAM. К моменту вывода видимой части строки его начало уже будет заполнено.

    Так как для экрана 320х240 каждая вторая строка VGA в режиме 640x480@60Hz дублируется, то буфер загружать надо только 1 раз на 2 строки. В начале второй строки нужно сделать только 3 цикла AUTO REFRESH, а остальное время доступ к SDRAM будет в основном у блиттера. Аналогично нужно вывести все 240 строк изображения, сформированного в буфере экрана. Во время бордера в кадре VGA данные из SDRAM читать не надо.

    Вот и все. Для простоты частоту точек VGA выбрать 25 MHz, а FGPA и SDRAM 125 MHz.
    Последний раз редактировалось zx-kit; 04.07.2015 в 08:26.
    "L-256"

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

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

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

Похожие темы

  1. Ответов: 18
    Последнее: 11.04.2021, 10:54
  2. графический редактор
    от yur в разделе Вектор
    Ответов: 1
    Последнее: 08.11.2012, 13:01
  3. графический режим на Атари
    от goblinish в разделе Atari
    Ответов: 3
    Последнее: 06.01.2012, 11:19
  4. графический софт для 48 К
    от goglus в разделе Софт
    Ответов: 6
    Последнее: 02.08.2006, 15:33

Ваши права

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