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

User Tag List

Страница 28 из 71 ПерваяПервая ... 242526272829303132 ... ПоследняяПоследняя
Показано с 271 по 280 из 703

Тема: Новый графический режим для игр

  1. #271

    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Возможно сделаем, как вы просили, возможность включения вывода стандартного режима по-новому в центре экрана для упрощения постепенного перекрашивания игр. При этом бордер будет как раньше или как статическая часть экрана 320х240.
    Да, это обязательно надо. Мало того, большинство игр не получится переделать под другое разрешение экрана (без переписывания игры заново). Надо сделать режим 256x192 с новыми фишками - палитрами, прозрачностью и прочими запланированными плюшками.

    ---------- Post added at 02:14 ---------- Previous post was at 02:12 ----------

    Цитата Сообщение от zst Посмотреть сообщение
    0D PL_SELECT - выбор палитры 1-4
    На всякий, если не сложно - а можно сделать каждому слою (и "прсевдслою", на который выводится векторная графика) свою палитру?

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

  3. #272

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

    По умолчанию

    Я так понял, MVV решил добавить новые режимы 8 битов на точку с палитрой. Палитра будет загружаться при смене уровня или когда надо задать эффект плавного затемнения. MVV, как планируешь использовать палитру и где ее указывать ?

    А зачем в векторной графике палитра ? Можно ведь указать для точки любой цвет из 32K. В буфере экрана все точки представлены как цвета из 32К.

    Векторную графику в режимах 320х240 и 256х192 применять затруднительно - точки слишком крупные. Если только в режиме 640х480.
    Последний раз редактировалось zx-kit; 06.07.2015 в 06:04.
    "L-256"

  4. #273

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

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    как планируешь использовать палитру и где ее указывать ?
    Сейчас доступно 4-ре палитры. Размер одной страницы палитры 768 байт. Доступ к палитре IN/OUT через три порта: #iiBF (Red), #iiBE (Green), #iiBD (Blue), где ii=индекс интенсивности цвета в одной из 4-х страниц палитры от 0 по 255. Порт выбора страницы палитры #01BC, биты 1..0=00-страница 0, 01-страница 1...
    Как-то-так, адреса портов вымышленные, использую исключительно для отладки в конфигурации DE1-SoC:ZX128K.
    Пример:
    Код:
    ; Инициализация палитры 24bpp
    	LD BC,#00BD	; Palette=Blue, Address=0
    L1	OUT (C),B
    	DJNZ L1
    	INC C
    L2	OUT (C),B
    	DJNZ L2
    	INC C
    L3	OUT (C),B
    	DJNZ L3
    	RET
    
    ; Чтение палитры 24bpp
    	LD HL,addr
    	LD BC,#00BD	; Palette=Blue, Address=0
    	INIR
    	INC C
    	INIR
    	INC C
    	INIR
    	RET
    
    ; Запись палитры 24bpp
    	LD HL,addr
    	LD BC,#00BD	; Palette=Blue, Address=0
    	OTIR
    	INC C
    	OTIR
    	INC C
    	OTIR
    	RET

  5. #274

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

    По умолчанию

    Параллельно с графической картой ещё делаю конфигурацию для DE1-SoC и ReVerSE-U16, планируется переход на NextZ80. Конфигурация получит два процессора с максимальной частотой 42МГц c 16К+16K L1 и 1К L2 кэшем. Быстродействия и объёма памяти вполне должно хватить для нового видео режима 640x480@60Hz 8bpp/15bpp/24bpp. Было-бы правильнее сделать совместимость графической системы с zx-evo, но есть проблема, команда ts-labs неохотно идет на встречу, оно и понятно, zx-evo себя полностью исчерпал в аппаратном плане, а вести работу над конфигурацией на других платах никто из них не будет. Да нас рать, есть возможность и желание сделать лучше, то почему-бы и не сделать.

  6. #275

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

    По умолчанию

    Цитата Сообщение от MVV Посмотреть сообщение
    Параллельно с графической картой ещё делаю конфигурацию для DE1-SoC и ReVerSE-U16, планируется переход на NextZ80
    А исходный код доступен? Хотелось бы на своей плате запустить

  7. #276

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

    По умолчанию

    Цитата Сообщение от s_kosorev Посмотреть сообщение
    А исходный код доступен? Хотелось бы на своей плате запустить
    У меня сейчас наброски для DE1-SoC, просто удобней вести разработку. Попробуй запустить ZX128K, на его базе и делаю. Если успею, вечером попробую собрать новые рабочие модули и выложить.

  8. #277

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

    По умолчанию

    Так как мы напридумывали уже больше одного дополнительного режима надо кратко описать каждый. Я начну, а вы добавляйте :

    Mode 0. Стандартный режим ZX SPECTRUM после сброса. 256х192 точек. Точка может быть двух цветов из 15, заданных с помощью атрибута. fINT=50 Hz. Предположильный способ формирования изображения - каждые 20 mS данные из экранной области ZX Spectrum и состояние BORDER построчно записываются (включая цвет BORDER-a) в буфер экрана. Из буфера экрана с частотой 50 или 60 Гц цвета выводятся на видеоустройство (телевизор, монитор или экран PC в эмуляторе).

    Mode 1. Аналог режима 0 с дополнительными возможностями для устранения клешинга атрибутов 256х192 точек + доп возможности. Точка может быть двух цветов из 15, заданных с помощью атрибута. fINT=50 Hz. Предположильный способ формирования изображения - каждые 20 mS данные из экранной области ZX Spectrum и состояние BORDER построчно записываются (включая цвет BORDER-a) в буфер экрана. Из буфера экрана с частотой 50 или 60 Гц цвета выводятся на видеоустройстов (телевизор, монитор или экран PC в эмуляторе).

    Mode 2. 320х240 точек. Точка может быть любым из 32768 цветов или прозрачной. fINT=60 Hz. Экран может состоять из статической и динамической частей. В динамической части возможен аппаратный скроллинг экрана и вывод изображения из карты тайлов 1024х1024 тайла размером по 8х8 точек. Предположильный способ формирования изображения. Фон строится из карты тайлов. Программист указывает координаты в карте тайлов для копирования в буфер экрана. Если в тайле фона точка прозрачного цвета - то будет изображен цвет фона (нижнего плана). Далее выполняются командные буферы, куда Z80 записал номера и координаты спрайтов для вывода поверх фона в буфер экрана. Сверху возможно рисование линий аппаратными точками заданным цветом. Из буфера экрана с частотой 60 Гц цвета выводятся на видеоустройство (телевизор, монитор или экран PC в эмуляторе).Два буфера экрана - на одном строим изображение, со второго изображение в этот момент выводится на видеоустройство.

    Mode 3. 640х480 точек. Похож на режим 2, только точек в два раза больше по-вертикали и по-горизонтали.

    MVV, какие режимы ты предлагаешь добавить ?
    "L-256"

  9. #278

    Регистрация
    12.07.2006
    Адрес
    г. Киев, Украина
    Сообщений
    2,147
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    82 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    какие режимы ты предлагаешь добавить ?
    Мне вот интересно, можно ли добавить эмуляцию доп. граф. режимов от АТМ и ПРОФИ? Понятно что оно будет "инородным телом" в новой разработке, но чисто для привлечения внимания к разработке вполне логичный ход.

  10. #279

    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А получится ли малой кровью в Mode1 добавить поддержку ULA+ так, чтобы не переделывать игры?

  11. #280

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

    По умолчанию

    Цитата Сообщение от bigral Посмотреть сообщение
    Мне вот интересно, можно ли добавить эмуляцию доп. граф. режимов от АТМ и ПРОФИ? Понятно что оно будет "инородным телом" в новой разработке, но чисто для привлечения внимания к разработке вполне логичный ход.
    Наверно можно. Но стоит ли ? Просто разместить в основной памяти компьютера дополнительные графические области - это пол дела. Нужно, чтобы все работало просто и быстро. Чтобы дать Спектруму второе дыхание надо сделать так, чтобы в новых режимах мог разобраться обычный программист, который захочет написать игру. На основе опыта, какие операции в играх занимают максимальное время, нужно пытаться оптимизировать это с помощью новых видеорежимов/видеокарты.

    Очень много для этого сделано в TSconf. В TSconf есть тайлы 8х8 как в Денди, отображение тайлов из карты и аппаратный скроллинг. Плюс там увеличено количество возможных тайлов по сравнению с 256 у Денди. Также в TSconf, по сравнению с Денди увеличено количество и размер спрайтов. У Денди 64 спрайта размером 8х8, в TSconf 85 размером до 64х64.

    Но в TSconf есть и некоторые недостатки. Изображение строится на лету при выводе на монитор. Спрайты аппаратные. Это приводит к некоторым ограничениям и сложным преобразованиям. У Денди при выводе больше 8 спрайтов в строке остальные начинают мерцать или пропадают. Не будет ли такого же тут ? Карта тайлов есть, но как в Денди размером 64х64. Желательно увеличить до 1024х1024, чтобы программисту не надо было заниматься лишней работой при скроллинге экрана. Наличие палитры ограничивает количество возможных цветов. Такая ситуация может возникнуть, если надо добавить картинку с другой палитрой.

    Когда жестко задано количество слоев или спрайтов - это может затруднить формирование изображения. В TSconf нельзя рисовать точки и линии поверх тайлов и спрайтов. Лучше предоставить программисту возможность накладывать требуемое количество тайлов, спрайтов и линий в буфер экрана с количеством цветов 32К, а затем выводить на видеоустройство. Также затруднительно выводить неподвижую информацию.

    Нужно в новом режиме графики разделять экран на статическую область и динамическую, как это делается в большинстве игр. Статическую область можно заполнить один раз, а потом только обновлять некоторые области, например. Индикатор заряда энергии, счет, изображение поднятого предмета.

    ---------- Post added at 03:21 ---------- Previous post was at 03:13 ----------

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    А получится ли малой кровью в Mode1 добавить поддержку ULA+ так, чтобы не переделывать игры?
    Если для формирования изображения мы читаем данные из стандартного экрана и попиксельно записываем изображение в буфер экрана, то при этом стандартные 15 цветов преобразовываются в соответствующие цвета 32К. При этом можно подменить стандартную палитру на ULA+. Немного сложнее, но думаю возможно. Но это ближе к режиму 0.

    В режиме 1 надо будет сделать возможность устранить клешинг. Он будет выглядеть также как 0, но формироваться по-другому. Надо еще продумать. Пока мне видится это так:

    Цвет каждой клетки размером 8х8 точек определяется двумя атрибутами. При записи в черно-белую область экрана или область атрибутов включается стандартный цвет из первого атрибута. При записи в определенные регистры видеокарты можно включить второй атрибут. Точки могут быть трех цветов: PAPER2, INK2 или прозрачными. Если прозрачные, то сквозь них видны точки 1 атрибута. Так можно нарисовать Диззи на переднем плане. Как только будет запись в черно-белую область экрана или область атрибутов включается стандартный цвет из первого атрибута.

    Подумайте, как проще сделать вывод спрайта поверх фона без клешинга.
    Последний раз редактировалось zx-kit; 11.07.2015 в 01:31.
    "L-256"

Страница 28 из 71 ПерваяПервая ... 242526272829303132 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 18
    Последнее: 11.04.2021, 10:54
  2. графический редактор
    от yur в разделе Вектор
    Ответов: 1
    Последнее: 08.11.2012, 13:01
  3. графический режим на Атари
    от goblinish в разделе Atari
    Ответов: 3
    Последнее: 06.01.2012, 11:19
  4. графический софт для 48 К
    от goglus в разделе Софт
    Ответов: 6
    Последнее: 02.08.2006, 15:33

Ваши права

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