User Tag List

Страница 14 из 16 ПерваяПервая ... 10111213141516 ПоследняяПоследняя
Показано с 131 по 140 из 178

Тема: Вектор-06Ц, 580хх на ПЛИС

Комбинированный просмотр

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

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,715
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    320
    Поблагодарили
    223 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    На Альтеровской девборде с модифицированным vm80a, запустил тест скорости вывода спрайтов.
    Алгоритм с моими командами копирования показал 27F8h = 10232 спрайта за 10 секунд, 20 спрайтов за одно прерывание.
    https://disk.yandex.ru/i/K-VdzcM1NgSVmA

    - - - Добавлено - - -

    Подозреваю, что вставить в ПЛИС-процессор математику, ещё проще.
    Нужно только разобраться как организовать чтение кода команды состоящего из двух байт (как у Z80), а не из одного как обычно.

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

  3. #2

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,715
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    320
    Поблагодарили
    223 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Что-то я большего ускорения ожидал
    Перелопатил тест скорости вывода ч/б текста в режиме 512*256, 80 символов в строку.
    Получилось вот это, на фото.
    https://disk.yandex.ru/i/Y-qN2o1AyyMDpQ
    "Y" - успел вывести только в одну плоскость.

    Фонты 8 байт на символ, горизонтально, одинаковые как для режима 256х256, так и для 512х256.
    Предсдвиговых таблиц нет, проц сам сдвигает и маску накладывает.
    Малость разочарован.
    Последний раз редактировалось KTSerg; 02.10.2022 в 10:07.

  4. #3

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,715
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    320
    Поблагодарили
    223 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor
    Если говорить о задаче вывода спрайтов (и тайлов) на экран, то стоит оценить предельный возможный вариант.
    ...
    2. Частичный разгон ядра 8080. Можно реализовать вывод спрайтов программно, но нужно некоторое количество быстрого озу внутри проца (или кеш). С этим озу проц пусть работает на 48 или 96 МГц, а снаружи опять видны только пересылки байтов.
    ...
    Есть какие-то стандарты по работе со спрайтам?
    Типа как/какие характеристики спрайта указывать, в каком формате загружать?
    Хочу попробовать загрузить спрайт 8х8х4 в М9К ПЛИСа.

    Нужно ещё разобраться, как это всё отреагирует на запрос прерывания, во время выполнения такого безобразия...
    Последний раз редактировалось KTSerg; 03.10.2022 в 09:50.

  5. #4

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,424
    Спасибо Благодарностей отдано 
    768
    Спасибо Благодарностей получено 
    2,374
    Поблагодарили
    1,322 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    По стандартам сложный вопрос. Можно сказать, что их нет, но более конструктивным будет ответ, что их определяют разработчики игр. Вспомним, кто делал последние игры - metamorpho и сейчас parallelno. В Binorum были спрайты без маски, можно сказать просто тайлы, в GameNoName - с маской.
    Сам я игрушки с нуля делал только в юности, потом понял, что я не игродел и только участвовал в портировании, в первую очередь с msx. У msx есть свой стандарт представления спрайтов (даже два, если не ограничиваться первым msxом). Т.е. по оптимизации вывода специальновекторовских спрайтов - к игроделам, а я могу сравнительно квалифицированно сказать, что нужно для упрощения и улучшения конверсий с msx, но тут мы возвращаемся к тому, что я уже писал. Задача комплексная, если не ограничиваться какой-нибудь одной демонстрационной программой, то нужна не только реализация в плисе, но и поддержка эмуляторов и средств разработки. При таком подходе мне (повторюсь) кажется более-менее реалистичным вариантом только z80, при всех его недостатках. А если ограничиваться одной демкой, то надо делать так, как самому нравится и удобно. Это не совсем умозрительные рассуждения, у меня были попытки наворотов (к v06cc), например 256 цветов, но все закончилось на одном тесте, в эмуляторы не пытался добавить, кучу программ под это не написал.

  6. #5

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,715
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    320
    Поблагодарили
    223 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    ...
    При таком подходе мне (повторюсь) кажется более-менее реалистичным вариантом только z80, при всех его недостатках.
    ...
    Т.е. речь о реализации в ПЛИС "векторовского контроллера z80" с самим z80. Типа проц z80 с распиновкой i8080 ?

  7. #6

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,424
    Спасибо Благодарностей отдано 
    768
    Спасибо Благодарностей получено 
    2,374
    Поблагодарили
    1,322 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Типа проц z80 с распиновкой i8080 ?
    Да, именно так. Вопрос в том, заработает ли в реальном векторе ядро T80 (для начала в режиме 8080). В рамках v06cc я включал z80 просто изменением одной настройки (Mode), шина оставалась 8080 и все работало. Для реала, как мне представляется, придется доработать только один момент - адресацию портов, продублировав в верхней половине ША нижнюю половину.

  8. #7

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,715
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    320
    Поблагодарили
    223 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Прикинул, если упаковать в одну команду вывод одного спрайта на экран, то даже для вывода одного спрайта 8х8х4, потребуется порядка 260 тактов...
    А если верить даташиту i8080, то проверка запроса прерывания происходит в последнем цикле каждой команды.
    Значит, скорее всего при выполнении такой "модифицированной" команды (вывода спрайта одной командой), запрос на прерывание скорее всего будет потерян. Что не есть зер гуд...

  9. #8

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,424
    Спасибо Благодарностей отдано 
    768
    Спасибо Благодарностей получено 
    2,374
    Поблагодарили
    1,322 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    если верить даташиту i8080, то проверка запроса прерывания происходит в последнем цикле каждой команды.
    Так там и нет команд вывода спрайтов. А при реализации в плис никто не может помешать проверять запрос прерывания например после каждой записи байта в память.

    - - - Добавлено - - -

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

  10. #9

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,715
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    320
    Поблагодарили
    223 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    ... при реализации в плис никто не может помешать проверять запрос прерывания например после каждой записи байта в память.
    ...
    Я об этом думал. Но не уверен, что после возврата из прерывания удастся вернуть состояние всех потрошков в тот вид, который был у них в момент прерывания процесса. Для модификации команд ведь приходится, что-то "корявить". В Векторе вроде нет специальной команды, которая завершает прерывание. А если в программе используется для этих целей не просто "ret", а "pchl" к примеру... тогда понять, что нужно вернуться к продолжению прерванной операции, будет ещё сложнее, если вообще возможно.

  11. #10

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,424
    Спасибо Благодарностей отдано 
    768
    Спасибо Благодарностей получено 
    2,374
    Поблагодарили
    1,322 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    не уверен, что после возврата из прерывания удастся вернуть состояние всех потрошков
    Это не техническая сложность, не принципиальная проблема, это вопрос аккуратной разработки. Адрес откуда читаем (или два адреса, если графика и маска отдельно), адрес куда пишем, счетчик. Приход прерывания во время такой долгой команды должен приводить к помещению в стек ее (этой команды) адреса, состояние регистров - как обычно, если обработчик прерывания корректный, то он сохраняет то, что сам меняет. И возврат приведет к корректному продолжению.

Страница 14 из 16 ПерваяПервая ... 10111213141516 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 4
    Последнее: 23.06.2016, 00:02
  2. Продам Вектор 06Ц
    от zzz в разделе Барахолка (архив)
    Ответов: 27
    Последнее: 29.04.2011, 12:20
  3. Вектор-06Ц
    от Robusta в разделе Барахолка (архив)
    Ответов: 11
    Последнее: 17.03.2009, 23:18
  4. Вектор-06Ц: БП от PC
    от Dmitry Dubrovenko в разделе Вектор
    Ответов: 11
    Последнее: 08.03.2009, 21:53
  5. Вектор-06Ц
    от AlexBel в разделе Барахолка (архив)
    Ответов: 4
    Последнее: 20.12.2007, 08:23

Ваши права

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