User Tag List

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

Тема: ZXKit1 - плата VGA & PAL

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

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

    Регистрация
    03.05.2020
    Адрес
    г. Челябинск
    Сообщений
    796
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    262
    Спасибо Благодарностей получено 
    274
    Поблагодарили
    145 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от valerium Посмотреть сообщение
    На прошивках 1.0.х в 60-герцовом режиме отбражение идет с 44-й скан-строки (для спека считалось нестрашным, т.к. обрезалось немного верхнего борюра).
    [CODE]
    ...
    -- иначе, если выходная частота кадров 60 Гц
    if VGA_V = 587 then -- и последняя строка в кадре (523+64=587):
    VGA_V <= ("0001000000"); -- первая отображаемая строка VGA: номер 44
    else -- иначе
    VGA_V <= VGA_V + 1; -- увеличиваем счетчик строк VGA
    end if;
    ...
    Кстати, обманул. Срезается 32 cкан-строки, это 64 строки VGA.
    В исходнике в комментах опечатка про 44, а константа в коде именно 64 (0001000000b).
    Но это в 1.0.x. поэтому и не важно.

    В 2.0.x все еще интереснее, там 4 режима (задаются значением H_TYPE через джамперы 5 и 6) и моменты формирования синхро- и гасящих импульсов там разные.
    Думаю, что надо выяснить, какой режим выставлен и попробовать в нем значением начала первого строчного гасящего импульса поиграть (VGA_SGI1_END), чтоб первый столбец не срезался (см. код ниже).

    Скрытый текст


    Код:
    --------------------------------------------------------------------------------
    --                ФОРМИРОВАНИЕ ПАРАМЕТРОВ РАЗВЕРТКИ VGA               100304  --
    --------------------------------------------------------------------------------
    
    -- строчные синхроимпульсы для VGA:
    
    process (H_TYPE)                   
    begin
      case H_TYPE is
     
        when "10" =>   -- "Спектрум"
          -- строчная развертка VGA:
          VGA_SSI1_BGN <= "0000000000"; --   0 - начало 1 строчного СИ
          VGA_SSI1_END <= "0000100110"; --  38 - конец  1 строчного СИ
          VGA_SSI2_BGN <= "1101110010"; -- 882 - начало 2 строчного СИ
          VGA_SSI2_END <= "1101111111"; -- 895 - конец  2 строчного СИ
          VGA_SGI1_END <= "0001000001"; --  65 - конец  1 строчного ГИ
          VGA_SGI2_BGN <= "1101110010"; -- 882 - начало 2 строчного ГИ
    
        when "01" =>   -- "Профи"
          VGA_SSI1_BGN <= "0000000000"; --   0 - начало 1 строчного СИ
          VGA_SSI1_END <= "0000100010"; --  34 - конец  1 строчного СИ
          VGA_SSI2_BGN <= "1011110101"; -- 757 - начало 2 строчного СИ
          VGA_SSI2_END <= "1011111111"; -- 767 - конец  2 строчного СИ
          VGA_SGI1_END <= "0000111001"; --  57 - конец  1 строчного ГИ
          VGA_SGI2_BGN <= "1011101101"; -- 749 - начало 2 строчного ГИ
    
        when "00" =>   -- "Орион"
          VGA_SSI1_BGN <= "0000000000"; --   0 - начало 1 строчного СИ
          VGA_SSI1_END <= "0000100101"; --  37 - конец  1 строчного СИ
          VGA_SSI2_BGN <= "0000000000"; --   0 - начало 2 строчного СИ
          VGA_SSI2_END <= "0000100101"; --  37 - конец  2 строчного СИ
          VGA_SGI1_END <= "0000111000"; --  56 - конец  1 строчного ГИ
          VGA_SGI2_BGN <= "1001111010"; -- 634 - начало 2 строчного ГИ
    
        when "11" =>   -- "Специалист"
          VGA_SSI1_BGN <= "0000000000"; --   0 - начало 1 строчного СИ
          VGA_SSI1_END <= "0000010001"; --  17 - конец  1 строчного СИ
          VGA_SSI2_BGN <= "0111110011"; -- 499 - начало 2 строчного СИ
          VGA_SSI2_END <= "0111111111"; -- 511 - конец  2 строчного СИ
          VGA_SGI1_END <= "0000100000"; --  32 - конец  1 строчного ГИ
          VGA_SGI2_BGN <= "0111101110"; -- 494 - начало 2 строчного ГИ
    
      end case;
    end process;
    --------------------------------------------------------------------------------
    -- кадровая развертка VGA:
    
    -- чтобы не было смещения экрана вниз при частоте VGA 60 Гц 
    -- пропускаются 32 строки экрана Спектрума сверху экрана, 
    -- что соответствует 64 строкам VGA.
    
    process (SET_FK_OUT)                   
    begin
      case SET_FK_OUT is
     
        when '0' =>  -- для частоты кадров 48/50 Гц:
    
          VGA_KSI_BGN  <= "0000001011"; --  11 - начало кадрового СИ
          VGA_KSI_END  <= "0000001100"; --  12 - конец  кадрового СИ
          VGA_KGI1_END <= "0000101100"; --  44 - конец  кадрового ГИ
          VGA_KGI2_BGN <= "1001110001"; -- 625 - начало кадрового ГИ
    
        when '1' =>  -- для частоты кадров 60 Гц:
    
          VGA_KSI_BGN  <= "0000111011"; --  59 - начало кадрового СИ
          VGA_KSI_END  <= "0000111100"; --  60 - конец  кадрового СИ
          VGA_KGI1_END <= "0001011100"; --  92 - конец  кадрового ГИ
          VGA_KGI2_BGN <= "1000111110"; -- 574 - начало кадрового ГИ
          
      end case;
    end process;
    [свернуть]

    Этот пользователь поблагодарил valerium за это полезное сообщение:

    surinm(13.08.2021)

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

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

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

Похожие темы

  1. ZXKit1 - конструктор для ZX-творчества
    от zx-kit в разделе ZX Концепции
    Ответов: 449
    Последнее: 07.01.2020, 15:42
  2. Что это за плата?
    от Sergei Frolov в разделе Несортированное железо
    Ответов: 3
    Последнее: 05.07.2009, 16:49
  3. От чего эта плата?
    от Nikita в разделе Несортированное железо
    Ответов: 8
    Последнее: 26.12.2008, 23:49
  4. Подскажите что за плата это ?
    от Mad Killer/PG в разделе Несортированное железо
    Ответов: 2
    Последнее: 18.12.2008, 00:50
  5. Что это за плата кто знает ?
    от sinchuk в разделе Несортированное железо
    Ответов: 14
    Последнее: 30.11.2008, 17:29

Ваши права

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