Важная информация

User Tag List

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 24

Тема: Как работают аппаратные спрайты

  1. #1
    Master
    Регистрация
    31.03.2008
    Адрес
    Москва
    Сообщений
    725
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    75
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question Как работают аппаратные спрайты

    В этой теме обсуждаются ЛЮБЫЕ аппаратные спрайты, их движки, идеи и реализации, в т.ч. в ПЛИС
    -----------------------------------------------------------------------------------------------------
    Кто может объяснить?
    В сети ничего внятного не нашел.
    Откуда берется ограничение N спрайтов на строку?
    Последний раз редактировалось IanPo; 05.11.2014 в 18:10.
    ZXM-Phoenix rev.01 2048K, VG93 hw emulator

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

  3. #2
    --- Аватар для Shadow Maker
    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    235
    Поблагодарили
    100 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Какие аппаратные спрайты? Где? В Спектруме нет аппаратных спрайтов.
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

  4. #3
    Master
    Регистрация
    31.03.2008
    Адрес
    Москва
    Сообщений
    725
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    75
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Какие аппаратные спрайты?
    Вообще любые аппаратные спрайты, интересует подробный принцип действия.

    Где?
    Например, в TS-Conf или Dendy.

    В Спектруме нет аппаратных спрайтов.
    С этим спорить трудно
    Поэтому я тему открыл в общем разделе для начинающих.
    ZXM-Phoenix rev.01 2048K, VG93 hw emulator

  5. #4
    Moderator Аватар для Mick
    Регистрация
    14.06.2005
    Адрес
    г. Калуга
    Сообщений
    9,917
    Спасибо Благодарностей отдано 
    178
    Спасибо Благодарностей получено 
    695
    Поблагодарили
    368 сообщений
    Mentioned
    19 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от IanPo Посмотреть сообщение
    Откуда берется ограничение N спрайтов на строку?
    Я полагаю все зависит от размера строки и размера спрайта.
    Очевидно что спрайт глупо делать размером в 1 пиксель.
    А так, простой пример - знакогенератор, это как бы набор спрайтов с размером 8x8. Тоесть в стандартном спековском экране будет максимально 32 спрайта в строке

    Можно также посмотреть как сделано в Dendy.
    Сайт поддержки моих изделий - http://micklab.ru/
    Группа ВКонтакте - https://vk.com/micklab

  6. #5
    Master
    Регистрация
    31.03.2008
    Адрес
    Москва
    Сообщений
    725
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    75
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Mick, у TMS9918 ограничение - 4 спрайта на строку. Как это м.б. связано с размером строки в MSX1, например ?
    ZXM-Phoenix rev.01 2048K, VG93 hw emulator

  7. #6
    Moderator Аватар для Mick
    Регистрация
    14.06.2005
    Адрес
    г. Калуга
    Сообщений
    9,917
    Спасибо Благодарностей отдано 
    178
    Спасибо Благодарностей получено 
    695
    Поблагодарили
    368 сообщений
    Mentioned
    19 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от IanPo Посмотреть сообщение
    Mick, у TMS9918 ограничение - 4 спрайта на строку. Как это м.б. связано с размером строки в MSX1, например ?
    Я полагаю что 4 спрайта вместятся, если взять спрайт 32x32. Это вероятно максимальное значение, а минимальное должно быть 8x8.
    Сайт поддержки моих изделий - http://micklab.ru/
    Группа ВКонтакте - https://vk.com/micklab

  8. #7
    Banned
    Регистрация
    28.12.2012
    Адрес
    Leesburg, VA, USA
    Сообщений
    974
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У меня ограничение кол-ва спрайтов задается двумя параметрами:
    - 85 спрайтов в файле описателей (6*85 = 512 байт)
    - кол-во циклов доступа к ОЗУ в строке (1700+), если задать подряд 85 конских спрайтов (64 пикс. в ширину, то 5440 пикселей ясен пень железо не нарисует).

  9. #8
    Master
    Регистрация
    31.03.2008
    Адрес
    Москва
    Сообщений
    725
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    75
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    TSL, а как работает спрайтовый движок в TS-Conf (я читал, но все понял)? Про слои ясно: 7слоев*256точек=1792 циклов, но как и когда все спрайты перебираются и проверяются, попадает ли текущая точка в спрайт - не понимаю.
    ZXM-Phoenix rev.01 2048K, VG93 hw emulator

  10. #9
    Activist
    Регистрация
    21.07.2010
    Адрес
    Ukraine
    Сообщений
    276
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    IanPo, кол-во зависит от производительности железа и объема памяти для карты и спрайтов. Т.е. как быстро железо сможет забить line буфер читая спрайт карту, маску, читая данные спрайта и записывая спрайт данные перед переключением строки для вывода на экран.
    Можно нагуглить много методов и алгоритмов для разных случаев. Вот к примеру проект: An FPGA sprite graphics accelerator
    С TMS9918A вижу знаком, там к стати все описано. Остальное уже придется додумывать для конкретной задачи

  11. #10
    Member
    Регистрация
    08.01.2012
    Адрес
    г.Винница, Украина
    Сообщений
    65
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ограничение на количество спрайтов на строку, скорее всего, вызвано двумя моментами.
    1) Микросхеме нужно загрузить спрайты с памяти, скорее всего это делается во время горизонтальной синхронизации.
    2) Собственно количество устройств в м/с что выдают спрайты - скорее всего там сдвиговые регистры + аппарат сравнения значения по горизонтали, по которому сдвиговые регистры выстреливают данные.

Страница 1 из 3 123 ПоследняяПоследняя

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

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

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

Похожие темы

  1. hdd не работают :(
    от homeness в разделе Внешние накопители
    Ответов: 9
    Последнее: 02.09.2010, 20:37
  2. Ответов: 2
    Последнее: 05.08.2010, 09:31
  3. Ответов: 1
    Последнее: 20.04.2010, 13:15
  4. Коллеги на СРС работают...
    от icebear в разделе Amstrad
    Ответов: 2
    Последнее: 01.11.2005, 15:49

Ваши права

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