User Tag List

Результаты опроса: Для какого компьютера и конструктива делать видеокарту "METEOR" ?

Голосовавшие
46. Вы ещё не участвовали в этом опросе
  • "ZXM-PHOENIX" с шиной ZX-BUS без корпуса

    18 39.13%
  • "ЛЕНИНГРАД" с шиной IDC-40 в корпусе

    8 17.39%
  • МОДУЛЬНЫЙ КОМПЬЮТЕР "CHELYABINSK" с шиной ZST-BUS без корпуса

    2 4.35%
  • ОРИГИНАЛЬНЫЙ "ZX SPECTRUM" с шиной ZX-EDGE в корпусе

    9 19.57%
  • "ZX-EVO" с урезанной шиной ZX-BUS без корпуса

    23 50.00%
Опрос с выбором нескольких вариантов ответа.
Страница 25 из 109 ПерваяПервая ... 212223242526272829 ... ПоследняяПоследняя
Показано с 241 по 250 из 1084

Тема: Быстрая видеокарта "METEOR-2013"

  1. #241

    Регистрация
    19.06.2014
    Адрес
    г. Харьков, Украина
    Сообщений
    731
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    15 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    оно как бы любая картинка или спрайт 8бит на точку уже индексная, т.к. в картинке любое значение это индекс в палитре из 256 цветов, в которую мы выбрали цвета из большей палитры. Если заглянуть в bmp файл, там палитра 768байт. Никаких клэшенгов я не замечал)))
    это если исходники изначально в одной палитре, а если палитра на ходу подбирается, то возникают искажения средней палитры, или дизеринг, патерны или еще какой то метод что бы в цвет примерно попасть, тоже подвиды клешига
    Последний раз редактировалось s_kosorev; 16.06.2015 в 20:19.

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

  3. #242

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    s_kosorev, клэшингу нас тут атрибутный, а не цветовой и связан с тем, что мы не можем в 128м экране рисовать в цвете с точностью до точки, только до знакоместа. а дизеринг или иной способ эмуляции большего числа цветов, это слегка другое.

    ---------- Post added at 23:34 ---------- Previous post was at 23:26 ----------

    Конечно, если все уже 15-битное - ничего преобразовывать не надо.
    Т.е. мы можем сразу оперировать спрайтами и картинками не 8 бит, а сразу 15 (16) бит?! интересно конечно, но тогда памяти для буферов в 4метра будет маловато. мне на спринтере памяти для 8ми битных не хватает, а ты для 16битных хочешь. 16 метров резервируй, не меньше.

    ---------- Post added at 23:46 ---------- Previous post was at 23:34 ----------

    и ещё один не понятный момент - если карта умеет работать с данными 15бит, тогда для чего нужно делать гору палитр для горы спрайтов? мы и так можем грузить 15бит спрайты без извратов. В том и прикол, что 8бит спрайты, это набор индексов в палитре, а 15юит и выше спрайты, это и есть сама палитра. вместо индекса от 0 до 255 мы указываем данные rgb в формате (15:5:5.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  4. #243

    Регистрация
    21.12.2005
    Адрес
    Kyiv/Ukraine
    Сообщений
    415
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Отлично! Такой метод нам подойдет. Долой палитру.
    Поддерживаю, нафиг палитру.
    15 битные спрайты - это гуд.

    Цитата Сообщение от zst Посмотреть сообщение
    Осталось решить, какого объема и типа озу использовать.
    8 метров минимум.
    16 оптимально.
    сдрам вероятно.

    p.s. 84 МГц это жесть
    Последний раз редактировалось Valen; 16.06.2015 в 21:21.
    V6Z80P - Back for Good

  5. #244

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

    По умолчанию

    Надо выбрать режим работы SDRAM. Как известно, SDRAM работает так:
    Вся область памяти внутри этого устройства делится на блоки (ROW) по 256 ячеек. Чтобы прочитать или записать данные из ячейки нужно сначала включить (ACTIVE) нужный блок. Потом подать команду чтения (READ) или записи (WRITE), указав одновременно номер ячейки (COL) в блоке. Если надо затем обратиться к ячейке в другом блоке этот блок надо выключить (PRECHARGE), а новый включить (ACTIVE) и т.д.

    Команды и данные подаются синхронно тактовой частоте CK. После команды включения блока или чтения нужно подождать 1 или 2 такта (подавать 1 или 2 команды NOP ). Число зависит от частоты тактов и быстродействия памяти. Раньше на древних компьютерах (в BIOS) выбирали частоту тактов на память (например, 100 или 133 MHz) и режим работы (2-2-2, 3-3-3). Но раньше мы не знали, что это за числа. Так вот сейчас мы это посчитаем и выберем нужный режим.

    Частота смены точек на экране TV 7 MHz, на экране VGA 14 MHz. Тактовую для ПЛИС и SDRAM выберем 14*6=84 MHz. tCK=1/84 MHz = 12 nS. Время между включением блока и подачей команды чтения или записи tRCD должно быть не менее 20 nS. При CL=2 tRCD будет равно 24 nS, что соответствует требованиям. То есть выберем режим работы SDRAM 2-2-2. Это значит, что после команды включения блока мы можем пропустить только один такт (подавать команду NOP). После этого получаем данные из памяти. Как видим, SDRAM очень медленно и неудобно работает, но в ней большой объем памяти, который нам нужен для видеокарты. Что же делать? Как ускорить работу ?

    SDRAM позволяет читать и писать данные пакетами (BURST). Для нашей видеокарты подходит пакет длиной 8. Причем выберем режим чтения с автоотключением (AUTO PRECHARGE) блока после чтения 8 точек. Т.е. чтобы прочитать 8 точек из буфера спрайтов нужно будет подать следующие команды:
    1 такт - ACTIVE (включение нужного блока памяти)
    2 такт - NOP (ожидание включения блока)
    3 такт - READ с A10=1 (чтение пакета длиной 8 с автоотключением блока)
    4 такт - NOP (ожидание из буфера спрайтов первой точки спрайта)
    5 - 12 такты - NOP (данные из памяти - последовательно 8 точек спрайта)

    Чтение пакетами по 8 точек и организация памяти блоками по 256 ячеек накладывает ограничение на структору видеокарты - размеры спрайтов должны быть кратны 8, иначе может возникнуть ситуация перехода спрайта в другой блок. А SDRAM не может читать последовательно данные из разных блоков.
    Последний раз редактировалось zx-kit; 18.06.2015 в 22:01.
    "L-256"

  6. #245

    Регистрация
    19.06.2014
    Адрес
    г. Харьков, Украина
    Сообщений
    731
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    15 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Это значит, что после команды включения блока мы можем пропустить только один такт (подавать команду NOP). После этого получаем данные из памяти. Как видим, SDRAM очень медленно и неудобно работает, но в ней большой объем памяти, который нам нужен для видеокарты. Что же делать? Как ускорить работу ?
    Не обязательно NOP, можно другому банку подавать команду, сигналы BAxx выбирают номер банка которому команду отдают

    ---------- Post added at 21:43 ---------- Previous post was at 21:40 ----------

    Цитата Сообщение от zst Посмотреть сообщение
    Причем выберем режим чтения с автоотключением (AUTO PRECHARGE) блока после чтения 8 точек.
    плохой режим, надо будет после каждого цикла, ждать отключение строки, регенерацию эффективней делать к примеру во время строчного гашения

  7. #246

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

    По умолчанию

    Цитата Сообщение от s_kosorev Посмотреть сообщение
    плохой режим, надо будет после каждого цикла, ждать отключение строки, регенерацию эффективней делать к примеру во время строчного гашения
    Видеокарта будет работать так - чтение 8 точек из буфера спрайтов в ПЛИС, запись 8 точек из ПЛИС (с учетом прозрачного цвета) в буфер экрана и т.д. Иногда надо будет прочитать 8 точек из буфера экрана в ПЛИС для отображения на TV или VGA. И все эти данные лежат в разных блоках памяти SDRAM. Выключать и включать блоки (STRINGS) все равно придется после чтения или записи 8 точек.
    "L-256"

  8. #247

    Регистрация
    19.06.2014
    Адрес
    г. Харьков, Украина
    Сообщений
    731
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    15 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Иногда надо будет прочитать 8 точек из буфера экрана в ПЛИС для отображения на TV или VGA. И все эти данные лежат в разных блоках памяти SDRAM. Выключать и включать блоки все равно придется после чтения или записи 8 точек.
    Ну так положить в разные банки, буфер кадров, данные графики спрайтов, а что бы меньше переключать строки, распологать спрайт в памяти последовательно, тогда к примеру при чтении спрайта, нужно будет ACTIVE выдавать только при смене строки. Опять же, чтение видео данных можно сделать к примеру по 4-8 BURST циклов, вообще с SDRAM по максимуму надо оптимизировать последовательные чтения, при произвольном доступе SDRAM не намного быстрее обычной DRAM

    SDRAM имеет аж 4 конвеера, к тому же пока выдает 8 циклов данных, можно опять же подавать команды

    ---------- Post added at 22:09 ---------- Previous post was at 22:01 ----------

    Отключение строки можно всегда послать в командах чтения записи, а вот если включен Auto Precharge - уже не отменить отключение, даже если чтение идет следующих байт в той же строке
    Последний раз редактировалось s_kosorev; 18.06.2015 в 22:08.

  9. #248

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

    По умолчанию

    Если бы спрайт был размером 16х16 точек, то он занял бы весь блок 256 ячеек. Тогда теоретически можно было бы за один пакет прочитать в ПЛИС весь спрайт. Это было бы максимально быстрое чтение.
    "L-256"

  10. #249

    Регистрация
    19.06.2014
    Адрес
    г. Харьков, Украина
    Сообщений
    731
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    15 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Тогда теоретически можно было бы за один пакет прочитать в ПЛИС весь спрайт. Это было бы максимально быстрое чтение.
    без автоотключение строки можно и так максимально быстро прочитать, потери будут только на первый цикл, остальное конвеер скроет

  11. #250

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

    По умолчанию

    Цитата Сообщение от s_kosorev Посмотреть сообщение
    без автоотключение строки можно и так максимально быстро прочитать, потери будут только на первый цикл, остальное конвеер скроет
    Можно было бы и стоку из буфера экрана для вывода на TV или VGA (256 точек) читать одним пакетом. Тем более на VGA строку надо показывать дважды. Для таких чтений нужно статическую память и ПЛИС или внутреннюю память FPGA.

    Кто за то, чтобы для ускорения работы до приемлемой скорости размеры спрайтов внутри видеокарты были размером 16х16 точек ?
    Записывать в буфер экрана можно было бы пакетами по 16 точек.
    Последний раз редактировалось zx-kit; 18.06.2015 в 22:28.
    "L-256"

Страница 25 из 109 ПерваяПервая ... 212223242526272829 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 17
    Последнее: 26.12.2015, 23:22
  2. Ответов: 19
    Последнее: 30.09.2011, 03:08
  3. Ответов: 0
    Последнее: 15.08.2010, 14:38
  4. Ответов: 18
    Последнее: 27.08.2008, 20:27
  5. Ответов: 6
    Последнее: 20.11.2007, 11:29

Ваши права

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