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

User Tag List

Страница 3 из 71 ПерваяПервая 1234567 ... ПоследняяПоследняя
Показано с 21 по 30 из 703

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

  1. #21
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,530
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    264
    Спасибо Благодарностей получено 
    208
    Поблагодарили
    166 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    нужна просто графика. Чтобы Диззи был белым на фоне дерева и дерево не стало белым. И чтобы просто и быстро. Это основные критерии. Программистам виднее. Мы же можем спросить - а как это сделать проще?
    Мы когда-то обсуждали узким коллективом очень давно, на какую внешнюю видеокарту было бы проще переделывать старые игрушки. Схема приблизительно такова - перехват на шине записи в экранную область Спека и соотв-но запись в память видеокарты до восьми пикселей (многобитных, но для совместимости на два цвета атрибуты будут влиять; после резета эти два и привязаны к 0 и 1 спектрумовской записи в растр). Далее, вывод спрайта в большинстве игрушек такой примерно: чтение (побайтно) с экрана, чтение маски, чтение спрайта, AND с маской, OR со спрайтом, запись в экран. Это всё достаточно заменить на: чтение маски, запись маски, чтение спрайта, запись спрайта. И при входе в процедуру включить режим, при котором при каждой чётной записи в экран единицы - прозрачный цвет, а нули - цвет маски (допустим, чёрный); а для каждой нечётной записи нули - прозрачный цвет, единицы - цвет спрайта. Потом выключить (для оставленных без изменений процедур печати фона, текста, стирания). Это если минимально хотим вмешаться, только чтобы клэшинг убрать. Правда, на старом спековском экране спрайты будут затирать фон (что неважно, если вывод только через новую видеокарту предполагается, а можно сделать, чтоб игра и на обычном Спеке шла без отличий, а через видеокарту - уже без клэшинга, лишь слегка замедлится процедура из-за лишней записи фона с маской).

    ---------- Post added at 14:31 ---------- Previous post was at 14:27 ----------

    Цитата Сообщение от zst Посмотреть сообщение
    Копирование спрайтов из буфера спрайтов в буфер экрана - аппаратное
    при копировании это получается уже блиттер, а не аппаратные спрайты
    но тогда уж делать его нормально, без спрайтовых ненужных ограничений

    не совсем понял, что значит:
    Цитата Сообщение от zst Посмотреть сообщение
    Карта не занимает порты компьютера - пересылка команд видеокарте идет через адреса атрибутов
    это что же, атрибутами как для Спека уже будет пользоваться нельзя?
    Прихожу без разрешения, сею смерть и разрушение...

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

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    при копировании это получается уже блиттер, а не аппаратные спрайты
    но тогда уж делать его нормально, без спрайтовых ненужных ограничений
    Я же говорю - зачем нам аппаратные спрайты с их ограничениями. Нам достаточно аппаратного копирования. Z80 разгружается и ту же игру можно сделать быстрее.
    это что же, атрибутами как для Спека уже будет пользоваться нельзя?
    Я предлагал после сброса - стандартный экран. Записью подряд три раза в определенный из адресов атрибутов, например, чисел 1, 2, 3. Включаем новый видеорежим. Однократной записью 0 - выключаем. Возвращается стандартный.

    При использовании адресов атрибутов несколько преимуществ. Использование адресов в ОЗУ не занимает адресов портов. И запись в ОЗУ быстрее записи в порт. Можно первые 256 или 512 байтов атрибутов использовать для загрузки спрайтов или картинок в видеокарту, например, командой LDIR.

    ---------- Post added at 17:42 ---------- Previous post was at 17:38 ----------

    Цитата Сообщение от Eagle Посмотреть сообщение
    Можно же два экрана у 128к спектрума наложить средствами видеокарты, исключая мерцание, и получим больше цветов и меньше клешинга.
    Это нужно делать для стандартного экрана. Для нового - не надо.

    ---------- Post added at 17:55 ---------- Previous post was at 17:42 ----------

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Мы когда-то обсуждали узким коллективом очень давно, на какую внешнюю видеокарту было бы проще переделывать старые игрушки. Схема приблизительно такова - перехват на шине записи в экранную область Спека и соотв-но запись в память видеокарты до восьми пикселей (многобитных, но для совместимости на два цвета атрибуты будут влиять; после резета эти два и привязаны к 0 и 1 спектрумовской записи в растр). Далее, вывод спрайта в большинстве игрушек такой примерно: чтение (побайтно) с экрана, чтение маски, чтение спрайта, AND с маской, OR со спрайтом, запись в экран. Это всё достаточно заменить на: чтение маски, запись маски, чтение спрайта, запись спрайта. И при входе в процедуру включить режим, при котором при каждой чётной записи в экран единицы - прозрачный цвет, а нули - цвет маски (допустим, чёрный); а для каждой нечётной записи нули - прозрачный цвет, единицы - цвет спрайта. Потом выключить (для оставленных без изменений процедур печати фона, текста, стирания). Это если минимально хотим вмешаться, только чтобы клэшинг убрать. Правда, на старом спековском экране спрайты будут затирать фон (что неважно, если вывод только через новую видеокарту предполагается, а можно сделать, чтоб игра и на обычном Спеке шла без отличий, а через видеокарту - уже без клэшинга, лишь слегка замедлится процедура из-за лишней записи фона с маской).
    Очень интересно, а что делать с атрибутами ? Можно было бы для нового видеорежима записать атрибут с установленным битом FLASH, затем байт спрайта.
    Последний раз редактировалось zx-kit; 20.06.2015 в 15:40.
    "L-256"

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

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Заглянул сюда Очень сложная штука.
    Кстати да, сделано добротно, почти все хотелки там есть. TSL молодец, в техническом плане.
    Но, сложновато разбираться среднему программеру.


    У zst, , карта на порядок по-проще.
    Блитер и всё.

    Вообщем, каждому своё.

    ---------- Post added at 16:23 ---------- Previous post was at 16:00 ----------

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Мы когда-то обсуждали узким коллективом очень давно, на какую внешнюю видеокарту было бы проще переделывать старые игрушки. Схема приблизительно такова
    Зачем такие битплановые "заморочки" ещё и с привлечением z80.


    Я думаю, не особо нужно, т.к.
    как-только мы нашли в переделываемой игре коорд спрайта,
    мы оправляем эти коорд видюхе, которая быстро нарисует спрайт,
    без привлечения z80.
    Последний раз редактировалось Valen; 20.06.2015 в 16:15.
    V6Z80P - Back for Good

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

    По умолчанию

    Ну у блиттера тоже есть свои минуса.

    К примеру надо построить фрейм игрушки, 320х200х16бит = 120кб
    Что бы построить кадр надо
    На примере SNES марио

    1. Залить задний план фоном (градиент неба) - 120кб
    2. Нарисовать задник (тучки, горы) , пусть будет из не перекрывающихся кусков, скопировать из теневой области = 240кб
    3. Нарисовать игровое поле, 25% заполнение экрана 60кб
    4. Спрайты, HID итд, пусть на все про все еще 20кб
    5. Прочитать буфер для вывода на экран 120кб

    Если марио не классический, а скрол постоянный, то эти телодвижения надо делать каждый раз

    Итого на простенькую игрушку 600кб на кадр, 30мб потом данных в секунду.
    Не кажется многовато для простейшего марио с плавным скролом?

    К примеру на спрайтовой видеокарте на все тоже самое понадобилось
    1. Фон формируется аппаратно = 0
    2. Задник = 120кб, только чтение данных
    3. Поле = 30кб
    4. Спрайты HID итд = 10кб
    5. Буфер читать не надо, его нет

    Итого на кадр приходится 160кб или 8мб в секунду

  5. #25
    Banned
    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    парни, тормозите, а то изгои на #z80 уже угорают.

    зы:блитер нужен.

  6. #26
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,530
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    264
    Спасибо Благодарностей получено 
    208
    Поблагодарили
    166 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Цитата Сообщение от zst Посмотреть сообщение
    Я предлагал после сброса - стандартный экран. Записью подряд три раза в определенный из адресов атрибутов, например, чисел 1, 2, 3. Включаем новый видеорежим. Однократной записью 0 - выключаем. Возвращается стандартный.
    а зачем два разных режима-то? пусть всё время только в новом работает
    а для совместимости просто выбор пары цветов исходных для нулей и для единиц
    эти два и будут "атрибутнозависимы", и при выводе подменяться на атрибутные

    Цитата Сообщение от zst Посмотреть сообщение
    При использовании адресов атрибутов несколько преимуществ. Использование адресов в ОЗУ не занимает адресов портов. И запись в ОЗУ быстрее записи в порт. Можно первые 256 или 512 байтов атрибутов использовать для загрузки спрайтов или картинок в видеокарту, например, командой LDIR.
    снова вспоминаючи старое: запись #NN в порт видеокарты (один-единственный) выбирает нужный
    диапазон адресов #NN00-#NNFF, куда запись перехватывается уже как в управляющие порты
    можно на пзу назначить, чтоб не портить данные в озу, если всё занято
    но тогда записи в порты не запоминаются (мб нужно, если девайс пассивный)

    Цитата Сообщение от zst Посмотреть сообщение
    Очень интересно, а что делать с атрибутами ?
    ничего не делать, как писали так и пишем прямо в экран
    и видеокарта себе тоже продублирует эти записи

    ---------- Post added at 16:35 ---------- Previous post was at 16:34 ----------

    Цитата Сообщение от Valen Посмотреть сообщение
    Зачем такие битплановые "заморочки" ещё и с привлечением z80.
    да необязательны битпланы (они были бы удобней для рассыпухи), важен сам принцип

    ---------- Post added at 16:38 ---------- Previous post was at 16:35 ----------

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

    ---------- Post added at 16:44 ---------- Previous post was at 16:38 ----------

    Цитата Сообщение от s_kosorev Посмотреть сообщение
    К примеру надо построить фрейм игрушки, 320х200х16бит = 120кб
    Что бы построить кадр надо
    На примере SNES марио
    делать так неэффективно - необязательно

    ---------- Post added at 16:47 ---------- Previous post was at 16:44 ----------

    Цитата Сообщение от s_kosorev Посмотреть сообщение
    Не кажется многовато для простейшего марио с плавным скролом?
    не покажется для того, что сможет не только в марио
    Прихожу без разрешения, сею смерть и разрушение...

  7. #27
    Master
    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    364
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Аппаратная точка не помешала бы, ну и линии кружочки с заливкой - совсем хорошо было бы )

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

    По умолчанию

    Цитата Сообщение от shurik-ua Посмотреть сообщение
    Аппаратная точка не помешала бы, ну и линии кружочки с заливкой
    зачем? какому проценту по вообще может понадобиться такой функционал?

  9. #29
    Veteran Аватар для savelij
    Регистрация
    23.03.2007
    Адрес
    г. Сухиничи, Калужская обл.
    Сообщений
    1,793
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Зачотная тема, адназначна.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	standards.jpg 
Просмотров:	274 
Размер:	23.3 Кб 
ID:	52621   Нажмите на изображение для увеличения. 

Название:	velosiped.jpg 
Просмотров:	248 
Размер:	33.6 Кб 
ID:	52622  

    Скрытый текст

    Profi 4.02 512k
    Profi 5.04 1024k нижняя плата здесь
    Scorpion 256k+ProfROM+SMUC 1.3+SMUC 2.0+ZXMC2
    Pentagon v2.2+Z-controller+ZXMC2+NeoGS
    АТМ 7.10 1024k
    Pentagon 2.666LE
    ZX Evolution 4Mb rev B
    [свернуть]


    Извещение лички отключено, захожу редко.

  10. #30
    Veteran Аватар для Raydac
    Регистрация
    16.08.2005
    Адрес
    Estonia,Tallinn
    Сообщений
    1,128
    Спасибо Благодарностей отдано 
    52
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    179 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    да еще и не только для игр, но и текстовых редакторов и жывотных убивать не надо

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

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

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

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

Ваши права

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