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

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%
Опрос с выбором нескольких вариантов ответа.
Страница 16 из 109 ПерваяПервая ... 121314151617181920 ... ПоследняяПоследняя
Показано с 151 по 160 из 1084

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

  1. #151

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

    По умолчанию

    Добавил в интерфейс с видеокартой команды:

    ПЕЧАТЬ СПРАЙТА НА ЭКРАН С АВТОИНКРЕМЕНТОМ
    LD (IY+1), PRINT_AUTOINC_X ; печать спрайта с автоинкрементом координаты X на ширину спрайта
    LD (IY+2), число ; младший байт номера спрайта

    LD (IY+1), PRINT_AUTOINC_Y ; печать спрайта с автоинкрементом координаты Y на высоту спрайта
    LD (IY+2), число ; младший байт номера спрайта

    Данные команды позволят быстро и легко заполнять фон спрайтами. PRINT_AUTOINC_X можно будет использовать для печати текста.

    Получается, что у нас теперь есть что-то, напоминающее курсор. Печать ведется в позицию курсора, а затем курсор перемещается дальше. Возможно понадобятся команды перемещения курсора в разных направлениях кратно размерам спрайта...

    Теперь давайте продумаем, как печатать спрайты на границах экрана? Как сделать удобный способ с обрезанием спрайта вне границ экрана ? Также предусмотреть способ произвольно выбирать окно, в котором мы будем печатать спрайты.
    Последний раз редактировалось zx-kit; 29.06.2013 в 20:17.
    "L-256"

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

  3. #152

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

    По умолчанию

    Может есть смысл, вообще отказаться от установки начальных/конечных рядов/столбцов спрайта ?

    Т.е. пусть это высчитывает плис, по координатам и размерам спрайта,
    учитывая "окно отсечения".
    Ну и добавить команду установки "окна отсечения".

    Если, спрайт частично выходит за границы "окна отсечения", то плис сама просчитывает какой кусок спрайта входит в "окно отсечения" и рисует этот кусок.
    V6Z80P - Back for Good

  4. #153

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

    По умолчанию

    Цитата Сообщение от Valen Посмотреть сообщение
    Может есть смысл, вообще отказаться от установки начальных/конечных рядов/столбцов спрайта ?
    Пока оставим, ведь иногда нужно изобразить часть спрайта. Например, в игре FLYING SHARK танки могут выезжать из под укрытий.

    Т.е. пусть это высчитывает плис, по координатам и размерам спрайта,
    учитывая "окно отсечения".
    Ну и добавить команду установки "окна отсечения".

    Если, спрайт частично выходит за границы "окна отсечения", то плис сама просчитывает какой кусок спрайта входит в "окно отсечения" и рисует этот кусок.
    Согласен, это облегчит программирование, но как указать видеокарте координаты за рабочим окном или всем экраном? Также хорошо бы посмотреть типовой фрагмент кода для Z80 при уходе движущегося объекта за границы экрана. Тогда уже это можно будет привязать к ПЛИС. Ей то это будет не трудно обрезать.

    Нужно выбрать в каком виде нужно задавать координаты. Если крайний левый пиксел экрана имеет значение 0, а для режими 320х240, координата задается двумя байтами. А объект пытается выехать на 1 пиксел за левую границу. В каком формате программе будет указывать эти отрицательные координаты? Ну и как их ПЛИС проще обрабатывать тоже нужно учесть.

    Для ПЛИС будет удобнее, чтобы координаты шли так: FFFE, FFFF, 0000, 0001... для режима 320х240
    Для режима 256х192: FE, FF, 00, 01, но для отрицательных координат все-равно придется задавать координаты двумя байтами?

    ПЛИС может загрузить координату FFFE в счетчик копирования, а затем циклически увеличивать. Если координаты не входят в диапазон 0-320, то при копировании не записывать данные в ОЗУ экрана.

    На координату Y тоже надо будет два байта..
    Последний раз редактировалось zx-kit; 30.06.2013 в 06:08.
    "L-256"

  5. #154

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

    По умолчанию

    Новая версия примера с учетом новых команд печати с автоинкрементом по X и автоматической обрезкой спрайтов на границах экрана.
    Примерная длительность заполнения фона при скроллинге для экрана размером 320х240 точек = 18973 такта Z80 из 69888 в кадре (27%).

    Во втором варианте заменил индексную адресацию в командах печати спрайта на более быструю. Время уменьшилось до 13303 тактов (19%). И это еще не предел. Таким образом, по этому способу у нас получилось достаточно быстрое заполнение фона плюс гибкость в выборе способа реализации скроллинга.
    Вложения Вложения
    Последний раз редактировалось zx-kit; 30.06.2013 в 17:19.
    "L-256"

  6. #155

    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    11,552
    Спасибо Благодарностей отдано 
    205
    Спасибо Благодарностей получено 
    188
    Поблагодарили
    83 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Основная цель - сделать быстрый движок без 3D, и т.п. наворотов. Графика должна остаться похожей на ZX SPECTRUM. Но без клэшинга атрибутов, с плавным скроллингом отдельных областей экрана, а не только всего.
    Это уже Амига будет. В чем похожесть? В разрешении экрана? Так у Nintendo DS тоже 256х192.

    ZX SPECTRUM = клэшинг

  7. #156

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

    По умолчанию

    Цитата Сообщение от newart Посмотреть сообщение
    В чем похожесть? В разрешении экрана?
    Да, в размере точек,а также клавиатура, джойстик, ПЗУ, TR-DOS, YAMAHA, Z80, объем памяти. Мы немного усовершенствуем.
    "L-256"

  8. #157

    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от newart Посмотреть сообщение
    ZX SPECTRUM = клэшинг
    Браво! С-64 и MSX = ZX SPECTRUM!

  9. #158

    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    11,552
    Спасибо Благодарностей отдано 
    205
    Спасибо Благодарностей получено 
    188
    Поблагодарили
    83 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Хотите много игр - делайте редактор игр, а архитектура блиттера тут вторична.
    Недопраграммистов больше чем программистов.
    Крутой программист может круто запрограмить, но как правило несостоятелен как геймдизайнер. А геймдизанер вполне может освоить создание игры на Бейсико подобном языке или в визуальном редакторе.

    Половина, если не больше выпускаемых ныне игр делаются в редакторе игр, либо в его подобие собственного производства.

    ---------- Post added at 21:21 ---------- Previous post was at 21:19 ----------

    Цитата Сообщение от alone Посмотреть сообщение
    Браво! С-64 и MSX = ZX SPECTRUM!
    Посмотри в гугле визуальные мемы на тему Спектрума.
    Там везде обыгрывается клэшинг. Технически он есть на многих платформах, но визитной карточкой стал именно для Спектрума.

  10. #159

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

    По умолчанию

    Цитата Сообщение от newart Посмотреть сообщение
    Крутой программист может круто запрограмить, но как правило несостоятелен как геймдизайнер. А геймдизанер вполне может освоить создание игры на Бейсико подобном языке или в визуальном редакторе.
    Вот видите. Вся прелесть в ZX SPECTRUM - простые устройства ввода типа клавиатуры и мыши, магнитофона, звука. Но - очень сложный экран, который был разработан для вывода текста. Поэтому хорошие игры могли написать несколько человек вместе с крутым программером. Один человек, не мог реализовать свою идею. Сейчас, когда коммерческой выгоды в написании игр нет - крутых программеров не заманишь на проект игры. А обычный человек, если у него есть энтузиазм - сможет многое.
    "L-256"

  11. #160

    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    11,552
    Спасибо Благодарностей отдано 
    205
    Спасибо Благодарностей получено 
    188
    Поблагодарили
    83 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    А обычный человек, если у него есть энтузиазм - сможет многое.
    Обычному человеку сегодня 30-35 лет, Если он за это время не освоил Ассемблер, то и дальше этого скорее всего не случится.

    Поэтому и важно средство разработки, позволяющее максимально абстрагироваться от всех технических заморочек и сосредоточится на самой игре.

    ---------- Post added at 22:55 ---------- Previous post was at 22:51 ----------

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

    Даже если все спрайты технически будут 16х16 это не страшно, редактор из них склеит спрайт нужного размера.

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

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

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

Эту тему просматривают: 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

Ваши права

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