User Tag List

Страница 61 из 71 ПерваяПервая ... 575859606162636465 ... ПоследняяПоследняя
Показано с 601 по 610 из 703

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

  1. #601

    Регистрация
    30.04.2010
    Адрес
    Харцызск, Донецкая область, Украина
    Сообщений
    24
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    ты прочитал всю тему
    Представь, да, всю прочитал.

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    принципиально другую видеокарту
    Не вижу принципиальных отличий. В обоих случаях слои, внутри которых битовые плоскости с атрибутами 8х1 или 8х8.
    Некоторые отличия есть. Я предлагаю уменьшить количество названий режимов и заменить буквенно-цифровые абривеатуры их названий на номера, прямо указывающие на глубину цвета в этих режимах.
    Предлагаю сделать все слои равноправными, это упростит видеокарту и при этом несколько расширит её возможности. Для совместимости инициализировать все слои в стандартном для Спектрума виде.
    Предлагаю поддержать разрешение 320х200, которое есть на ряде спектрум-сомвестимых машин, что, ИМХО, вполне вписывается в идеологию "упрощения адаптации старых игр". А вот разрешение 320х240 да, считаю ненужным. Не было его на Спеке никогда, нечего адаптировать.
    Я даже на адресацию с 0000 не покушаюсь. хотя и опасаюсь что в некоторых случаях она может стать источником проблем.

    С чего ты взял что я предлагаю забить на Метеор и сделать принципиально другую карту? Увидел многа бакаф? Так более-менее полное описание я привёл потому, что хотел избежать нескольких страниц вопросов вроде "а эта пимпочка по умолчанию включена или выключена"?

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    ты даже не понял что за идея тут предлагается
    Идея Метеора в "ленивой" переделке старых игр (устранение клешинга, увеличение количества цветов). Разве нет?

    P.S. А как ты называешь прямоугольные графические объекты с атрибутами? Я спрайтами.

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

  3. #602

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

    По умолчанию

    Цитата Сообщение от Sameone Посмотреть сообщение
    P.S. Номер режима 0 может быть использован (зарезервирован) для текстового режима видеокарты (пригодится для системных и офисных программ).
    P.S.2. Не понимаю какая разница с какого адреса у нас видеопамять: с 0000 или 8000, всё равно банками щёлкать. Хотя как бы процессору и незачем лезть непосредственно в память спрайтовой видеокарты (а Метеор хоть и несколько оригинальная, но таки спрайтовая видеокарта). А вот источником головной боли для программиста/хакера-адаптатора отображение видеопамяти поверх системного ПЗУ вполне может стать. Ведь игра вполне может вызывать отдельные функции оттуда. Или использовать системный шрифт.
    320х240 кратен режиму монитора 640х480. Каждая точка увеличена в два раза по-вертикали и по-горизонтали. В режиме 256х192 лишние точки используются для бордера. Под номером 0 стандартный экран. Адрес 0000 - для упрощения вычислений адреса байта на экране. Z80 не имеет доступа к памяти видеокарты. Банками переключать не надо. Адреса у всех байтов, из которых получаются 8 точек одинаковые. Байты записываются по-очереди в один адрес. Но в слоях 8 точек в любом дополнительном режиме представлены 8 байтами. Количество битов на точку в режимах с палитрой - это количество цветов на спрайт. Это может быть один байт или несколько. Без разницы. Под атрибуты память не тратится. Закрашивание точек происходит после записи последнего байта из 1-4 для разных режимов. Из ПЗУ читается как-обычно. И подпрограммы в нем тоже могут выполняться. В видеокарту происходит только запись. Но можно эту запись временно отключать на время работы некорректных подпрограмм в ПЗУ, которые пишут в адрес ПЗУ.
    Последний раз редактировалось zx-kit; 28.09.2015 в 18:39.
    "L-256"

  4. #603

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

    По умолчанию

    Цитата Сообщение от krt17 Посмотреть сообщение
    Режимы слишком специфичные, я бы для начала исходя из их характеристик просто подумал как в 3-4 играх, с разным методом вывода, переделать по Вашу концепцию. Сразу будет видно сколько работы надо проделать, увидите недостатки.
    Посмотрел код THREE WEEKS IN PARADISE. Там рисование идет в буфер размером в 2 сегмента. Потом с помощью LDIR буфер копируется на экран. Маска сдвигается сразу для четырех байтов. Потом накладывается на буфер. Перед этим содержимое буфера сохраняется. Видимо для восстановления фона. Потом сдвигается 4 байта спрайта и накладываются в буфер. Пока не придумал как модернизировать этот код. Надо еще найти подпрограмму, которая восстанавливает фон. Подпрограмму оригинала с комментариями выкладываю. Надо подумать коллективно. Еща какие игры с клешиногом будем смотреть ?
    Вложения Вложения
    "L-256"

  5. #604

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

    По умолчанию

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

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

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

  6. #605

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

    По умолчанию

    Дык никто не говорит что *****, старые игры переделать и я мож помогу
    Просто я до сих пор не пойму зачем столько сложностей для программиста если в железяке стоит довольно мощная плис и аж 1-8 метров видеопамяти, и при этом до сих пор непонятно как же выводить с точностью до пикселя, я не хочу крутить по битам спрайт диззи в буфере, я хочу тупо вывести его на экран, и пусть это будет даже 1 байт на пиксель, всё равно всё храниться в видеопамяти, я в самом начале игры возьму чёрно-белый спрайт, 1 байт на 8 пикселей, наложу на него цвет, и закину в видеопамять уже в виде 1 байт на пиксель, а в нужный момент просто дам команду для переброски из адреса спрайта в адрес на экране с учетом размеров спрайта, а если мне захочется сделать новую игру или графический редактор то я сразу буду хранить это в 1 байт на точку.

    п.с. Ничего личного, это моё виденье ситуации

  7. #606

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

    По умолчанию

    Цитата Сообщение от Sameone Посмотреть сообщение
    Смена палитры, переопределение цвета в палитре и объявление цвета прозрачным производятся через вызов соответствующих функций.
    Что такое выхов функций в предлагаемой архитектуре? Запись нажных байтов в регистры карты, замаппированные в ПЗУ?
    Цитата Сообщение от Sameone Посмотреть сообщение
    Во всех режимах возможна установка разрешения 256х192 или 320х200.
    Все расширенные режимы оставлены "на потом".
    Цитата Сообщение от Sameone Посмотреть сообщение
    По умолчанию во всех режимах экран располагается с адреса 8000h
    ,
    что делает невозможной адаптацию игр без их полного переписывания.
    Цитата Сообщение от Sameone Посмотреть сообщение
    а Метеор хоть и несколько оригинальная, но таки спрайтовая видеокарта
    Метеор - растровая видеокарта. Про понятие "спрайт" он не знает совсем.
    Цитата Сообщение от Sameone Посмотреть сообщение
    Для совместимости инициализировать все слои в стандартном для Спектрума виде.
    Этого сразу не прозвучало, сложилось впечатление, что стандартный режим поддерживать и не предлагается.
    Кроме того, я нигде не нашел упоминание про один из самых важных придуманных режимов - монохромный с маской.
    ZX Evolution Rev C + ZXM-SoundCard Extreme + NeoGS.

  8. #607

    Регистрация
    30.04.2010
    Адрес
    Харцызск, Донецкая область, Украина
    Сообщений
    24
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    zst,
    320х240 планируется из-за того, что это четвертушка от 640х480, верно? А 320х200 это четвертушка от 640х400, которое есть разрешение текстового режима VGA, мне по крайней мере ещё не попадался VGA-монитор, который бы не понимал развёртку textmode. Впрочем, 320х200 тоже стандартный режим VGA. Но если 320х240 нужен, пусть будет. Тогда сэкономить на видеопамяти неудастся.
    А как насчёт 320х200? Его ведь тоже можно вписать в 320х240?
    Новый вариант адресации через hl, который планируется в Метеор, очень хорош. Я только высказал опасения, что включение видеопамяти вместо ПЗУ потенциально может вызвать проблемы в некоторых программах. А можно слелать так, чтобы по желанию программиста карточка смещала новую адресацию на 4000? Как раз для "некорректных программ, которые пишут в ПЗУ" (я так понимаю, это СР/М и всё что под неё)? Видеокарта ведь для любого спектрум-совместимого компа? Кстати, когда я говорил про видеопамять с 8000 я ошибся. С 4000, я имел ввиду стандартное начало видеопамяти в спектруме, почему меня переклинило не знаю.
    Да, а читать из видеокарты точно никогда-никогда не потребуется, даже в будущем?
    Битпланы в Метеоре всё-таки есть, просто их не нужно переключать ручками. Я ж вроде и не предлагал?
    Чего плохого в том, чтобы все слои по желанию программиста могли быть более чем двухцветными, тем более слой 0 - я так понимаю, он самый дальний? Видеокарта инициализируется в режим слой=0, разрешение=256х192, начало видеопамяти=4000, глубина цвета=1 бит/пиксель, атрибут=1 байт на знакоместо, бит 7=флэш, палитра=спектрум_стандарт, никаких траблов. При необходимости можно эти параметры менять, если программа знает и умеет это. Это не сужает, а расширяет возможности карты.
    Атрибуты при глубине цвета более 1 бит/пиксель я предлагаю. Потому как в том же Денди, например, атрибуты на спрайт 8х8, а в самом спрайте указывается который из 4 цветов использовать. Если будут атрибуты на знакоместо в режиме 2, это упростит перенос игр как с Денди, так и с денди-конфы. Это плохо? Возможность в режимах 1 и 2 задать атрибуты для блока 8х1 пикселей --- это для адаптации картинок в мультиколоре, чтобы не подменять атрибуты на каждой строке каждый кадр. В режимах 3 и 4 и правда можно обойтись без атрибутов, напрямую указывать цвет из палитры слоя.

    alex rider,
    Вызов функций - тоже что и всегда: передаём в карту код функции (управляющий код) и параметры (если они нужны). Через порт или ячейку памяти - как угодно. Сейчас ведь тоже планируете как-то сообщать карте о необходимости переключить режим?
    На потом, так на потом. Т. е. нативного 320х240 тоже не будет?
    С адресом 8000 я ошибся, читать 4000, это стандартное начало видеопамяти в спектруме.
    Да, конечно, растровая. Я как-то векторных видеокарт и не встречал.
    А разве не планируется тулза для перекодировки спрайт+маска в 4-цветный спрайт (один цвет прозрачный)? Или скормить ей все спрайты игры это очень долго? Если она будет -- зачем поддерживать маску?

    P.S. Можно попросить документ про Парадиз выложить в rtf? Я бы хотел глянуть, но у меня MS Word.

  9. #608

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

    По умолчанию

    Цитата Сообщение от Sameone Посмотреть сообщение
    zst,
    320х240 планируется из-за того, что это четвертушка от 640х480, верно? А 320х200 это четвертушка от 640х400, которое есть разрешение текстового режима VGA, мне по крайней мере ещё не попадался VGA-монитор, который бы не понимал развёртку textmode. Впрочем, 320х200 тоже стандартный режим VGA. Но если 320х240 нужен, пусть будет. Тогда сэкономить на видеопамяти неудастся.
    А как насчёт 320х200? Его ведь тоже можно вписать в 320х240?
    За основу взята развертка 640х480@60Hz, так как это индустриальный стандарт и поддерживается большинством мониторов и телевизоров с VGA входом. 640х400@70Hz может не на всех заработать. Текстовой режим пока не планировался.
    Новый вариант адресации через hl, который планируется в Метеор, очень хорош. Я только высказал опасения, что включение видеопамяти вместо ПЗУ потенциально может вызвать проблемы в некоторых программах. А можно слелать так, чтобы по желанию программиста карточка смещала новую адресацию на 4000? Как раз для "некорректных программ, которые пишут в ПЗУ" (я так понимаю, это СР/М и всё что под неё)? Видеокарта ведь для любого спектрум-совместимого компа? Кстати, когда я говорил про видеопамять с 8000 я ошибся. С 4000, я имел ввиду стандартное начало видеопамяти в спектруме, почему меня переклинило не знаю.
    Да, а читать из видеокарты точно никогда-никогда не потребуется, даже в будущем?
    Видеокарта для игр. Начало экрана с 0000 упрощает адресацию. Сначала новые режимы предполагались и 4000 или 0000. С адреса 4000 новые видеорежимы будут затирать часть игры, так как новый экран занимает 8KB адресов. Чтение из видеокарты может пригодиться. Возможно лучше выделить часть памяти с адресами 2000-3FFF в качестве дополнительного ОЗУ для доработки игр. В нее можно было бы загружать новые подпрограммы. При этом чтение из ПЗУ конечно придется отключить. На некоторых комьпютерах, где можно включить ОЗУ вместо ПЗУ могут быть конфликты. Надо это обдумать.
    Битпланы в Метеоре всё-таки есть, просто их не нужно переключать ручками. Я ж вроде и не предлагал?
    Чего плохого в том, чтобы все слои по желанию программиста могли быть более чем двухцветными, тем более слой 0 - я так понимаю, он самый дальний? Видеокарта инициализируется в режим слой=0, разрешение=256х192, начало видеопамяти=4000, глубина цвета=1 бит/пиксель, атрибут=1 байт на знакоместо, бит 7=флэш, палитра=спектрум_стандарт, никаких траблов. При необходимости можно эти параметры менять, если программа знает и умеет это. Это не сужает, а расширяет возможности карты.
    В слоях физически каждая точка может иметь 255 разных цветов. Вначале будет стандартных 15. Стандартный режим расширять не планируется - он остается без изменений в 0 слое. Его можно будет отключить. Вместо стандартного лучше все рисовать в режиме COLOR2 - проще и быстрее.
    Атрибуты при глубине цвета более 1 бит/пиксель я предлагаю. Потому как в том же Денди, например, атрибуты на спрайт 8х8, а в самом спрайте указывается который из 4 цветов использовать. Если будут атрибуты на знакоместо в режиме 2, это упростит перенос игр как с Денди, так и с денди-конфы. Это плохо? Возможность в режимах 1 и 2 задать атрибуты для блока 8х1 пикселей --- это для адаптации картинок в мультиколоре, чтобы не подменять атрибуты на каждой строке каждый кадр. В режимах 3 и 4 и правда можно обойтись без атрибутов, напрямую указывать цвет из палитры слоя.
    У Денди тайлы и спрайты имеют 3 цвета на тайл/спрайт + прозрачный. В Метеоре этому режиму соответствует режим COLOR4C. В палитре можно выбрать 4 цвета, среди которых может быть и прозрачный. Только вместо атрибутов перед рисованием выбирается палитра из четырех цветов. Можно менять номер палитры для каждого байта или для каждых 8 байтов или для каждого большого спрайта.
    А разве не планируется тулза для перекодировки спрайт+маска в 4-цветный спрайт (один цвет прозрачный)? Или скормить ей все спрайты игры это очень долго? Если она будет -- зачем поддерживать маску?
    Маска нужна для постепенного перехода от старой графики к новой без изменения спрайтов. Конечно в режиме COLOR4C цветов больше. Как писал Lethargik, нужны такие режимы, чтобы можно было выбирать степень переработки игры. Для новых игр режим с маской особо и не нужен.
    P.S. Можно попросить документ про Парадиз выложить в rtf? Я бы хотел глянуть, но у меня MS Word.
    Выложу в разделе игр.
    Последний раз редактировалось zx-kit; 29.09.2015 в 19:54.
    "L-256"

  10. #609

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

    По умолчанию

    Старую игру всё равно придётся полностью делать ЗАНОВО!
    Иначе какой тогда смысл вообще начинать?
    Экономия 5-10% мощности CPU не есть гуд, переделывать даже 1 старую игру это ппц какой гемор, а если это делать только из-за того что бы убрать на паре спрайтов наползание цвета то не вижу в этом смысла. Почему нельзя сделать тупо видео DMA ?
    А если я захочу сделать игру и в 256x192 и в 640x480 ? Всё? Тупик?
    А ведь с видео дма это решается примитивно и просто, AMIGA тому подтверждение.

  11. #610

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

    По умолчанию

    А можно нагрузить плис выводом анимационного заднего фона?

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

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

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

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

Ваши права

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