User Tag List

Страница 67 из 70 ПерваяПервая ... 6364656667686970 ПоследняяПоследняя
Показано с 661 по 670 из 703

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

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

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

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    Вполне достойно впеЧАТление. Спаяй переходник себе для Speccy2010, полчаса делов - и сам увидишь. а эмуль есть, тоже нормально вполне кажет. Анрил с TS
    Ссылки, пожалуйста ?

    ---------- Post added at 13:14 ---------- Previous post was at 13:09 ----------

    Цитата Сообщение от denpopov Посмотреть сообщение
    А все просто - TS-фюрер ненавидит тебя и боится демок,которые он называет ААА-стайл, поэтому и бережет инфу, тщательно пряча примеры и тд.

    Так что твоя концепция с его реализацией спрайта выеденного не стоит. Как и его конфа тоже.
    Надо обсудить здесь его режимы графики, подумать, как сделать универсально, без привязки к ZX-EVO. Упростить по максимуму. Основная задача - устранение клешинга без усложнения программирования. А также скорость должна быть до 50 fps.

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

    Наверно нужно также ограничить количество режимов. Оставить только 320х240. То есть нужно упростить все до предела, чтобы было просто, быстро.

    То что просто TSL, не значит, что просто другим. Должно быть простое программирование, проще чем для обычного экрана Спектрума. Для этого нужен коллективный разум, а не разум отдельных разработчиков.
    Последний раз редактировалось zx-kit; 20.06.2015 в 11:20.
    "L-256"

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

  3. #2

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

    По умолчанию

    Цитата Сообщение от MVV Посмотреть сообщение
    Сделал наброски схемы в черновике ep4ce6e22 + spiflash (4) + sdram 4m16 (36) + hdmi (8) + sd (5) + zx-bus/nemo-bus (38), по выводам всё оптимально. Можно ещё i2c добавить под часы и ddc если это тут нужно. Размер платы предположительно 85х50мм, из-за разъема великовата выйдет. Не, ну можно переходник с разъемом и всё в BGA - FPGA и DDRII если есть смысл?
    На вскидку может получится DivMMC, TurboSound, GeneralSound, SounDrive, Z-Controller... из коробки, ps/2 (2+2) и Audio (2) только добавить...
    В следующей версии наверно сделать можно... Зависит то всё от zst.
    Я бы на плате ZX-BUS разместил: генератор 50 МГц + ep4ce6e22 + spiflash (4) + sdram 4m16 (36)+схемы согласования с +3.3V на 5*74LVC245, стабилизаторы и разъем IDC-16M,
    А на корпусе разместил бы плату с ЦАП R-2R, VGA и SD.
    Опционально hdmi (8) + sd (5) или что-нибудь еще
    Но по моим подсчетам SDRAM надо 38 io. На R-2R подал бы сигналы тоже через 2*74LVC245, как в ZX-EVO, так как выходы у FPGA высокоомные и будут вносить погрешности.

    Хорошо бы еще входной регистр сдвига для настройки джамперами режимов работы видеокарты. Типа:
    Частота кадров 48 / 50 Гц
    Видеовыход SCART / VGA
    SD вкл / выкл
    ...
    На это потребуется дополнительный IO для данных, а на загрузку состояни джамперов и сдвг KSI+SSI
    Последний раз редактировалось zx-kit; 21.06.2015 в 19:21.
    "L-256"

  4. #3

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

    По умолчанию

    Цитата Сообщение от MVV Посмотреть сообщение
    Сделал схему, пока это только наброски, нужно придумать название девайса и обсудить что нужно исправить или доработать...
    Планируешь сделать карту ? A12 я бы на SDRAM не подавал. INT подал бы через диод. Согласование с шиной данный просто сигналом DIR что-то мне не нравится. Не уверен, что будет работать.
    Светодиод и аудио разъем лишние. Или там звук через ШИМ ?
    2V5 для чего используется ?
    Разъем uBUS не подключен.
    Последний раз редактировалось zx-kit; 22.06.2015 в 20:38.
    "L-256"

  5. #4

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    5,000
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    324
    Спасибо Благодарностей получено 
    327
    Поблагодарили
    249 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

    Цитата Сообщение от zst Посмотреть сообщение
    Размер тайла выбирает разработчик игры, а не я.
    нееет, так ему придётся выбрать из-за тебя!
    хотя мог бы ничего и не выбирать, но твои ошибки его заставят

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

    Цитата Сообщение от zst Посмотреть сообщение
    Тайлы используют для экономии места на графику. Если рисовать каждый экран одним куском даже 8 мегабайтов не хватит.
    8 мег это 4 194 304 двухбайтных пикселя, что больше чем игровая площадь всех экранов у Диззи-5
    а нарезкой даже очень крупными объектами - в разы меньше, так что нету никакой необходимости в мелкотайлах

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

    Цитата Сообщение от zst Посмотреть сообщение
    Чтобы не занимать адреса старых и будущих устройств,
    дык влезая в атрибуты, ты как раз адреса "старого устройства" (экрана) и занимаешь
    и уничтожаешь притом возможность быстрой адаптации старых игр

    ---------- Post added at 07:37 ---------- Previous post was at 07:29 ----------

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

  6. #5

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

    По умолчанию

    Цитата Сообщение от krt17 Посмотреть сообщение
    Простой пример, плавное гашение экрана. Хотя тут конечно предложат сделать 50 экранов в памяти (у нас же 16 метров) или шейдеры (куда же без них это же гашение экрана).
    То есть для гашения нужна команда, по которой видеокарта должна будет пройтись по всем точкам экрана: прочитать точку из буфера экрана, уменьшить число в каждом канале RGB на 1 и записать обратно в буфер экрана. За 31 цикл с паузами для обеспечения нужной скорости можно плавно погасить весь экран.

    ---------- Post added at 23:39 ---------- Previous post was at 23:25 ----------

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    Сорри, весь тред не осилил, но расскажу мнение адаптатора игр на примере Саботера 2. Мне было бы очень кайфово и быстро адаптировать Саботера, если бы можно было:
    1. Сказать видеокарте, что у меня n тайловых слоев.
    2. Отправить ей тайлы 8x8 для каждого слоя
    3. Замапить куски ОЗУ на тайловые буфера для слоев.
    4. Получить от карты момент окончания отрисовки экрана чтобы включить другую страницу с тайлмапами в момент отрисовки бордюра.
    INT надо подавать после отображения на телевизоре правой нижней точки экрана 256х192 ?

    Это позволит мне отключить рендерер. А, чтобы оптимизировать вывод тайлов в тайлмапы, было бы неплохо, чтобы сами тайлмапы были размером больше, чем 32x24, желательно раза хотя бы в 3. Чтобы не париться с клиппированием.

    PS Не претендую на то, что так оно будет удобно для всех игр. С Elite такое явно не прокатит, ей нужен 3D-успоритель
    Т.е. каждую локацию подготовить в виде таблицы 32х24 тайла (768 на экран) и загрузить в SDRAM в буфер локаций. Дополнительные слои делать с прозрачными цветами и прозрачным спрайтам № 0. После этого для копирования из буфера локаций в буфер экрана достаточно будет указать адрес локации. После перехода в новое место скопировать в буфер экрана нижний слой, потом спрайты героев, потом верхний слой. Я правильно понял?

    Сколько примерно надо локаций?
    Сколько байтов надо на номер тайла ?
    Перечислите, пожалуйста, названия игр, для которых такой способ тоже подойдет.
    А для каких нужен другой способ ?
    Какой ?
    Последний раз редактировалось zx-kit; 26.06.2015 в 22:01.
    "L-256"

  7. #6

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

    По умолчанию

    Я почему выбрал режим 15 бит на точку - он влезает в одно слово SDRAM. Соответственно, точки обрабатывать можно за раз.
    640х480 заполнять не сможет. В этом разрешении были игры типа WarCraft 2. Но там процессор был 386DX40, ОЗУ 4М, видеокарта Trident 8900 512K, жесткий диск 40 Мб, CD-ROM 4x, Sound blaster 16 бит.

    Мы же максимум сможем сделать DOOM2 для экрана 320х240.
    Поэтому ориентироваться надо сразу на 320х240 15 bpp максимум.
    Последний раз редактировалось zx-kit; 26.06.2015 в 23:35.
    "L-256"

  8. #7

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

    По умолчанию

    Цитата Сообщение от MVV Посмотреть сообщение
    Это не спецификация, а ребусы по теме ZX-Spectrum.
    Давай разбираться
    по железу: плата для тестирования и работы с видео режимом? Спецификация на платы?
    по устройству отображения: TV, монитор...? Интерфейсы-VGA, SCART, HDMI, S-Video?

    Я сейчас могу работать и развернуть проект только на 4-х платах: DE1-SoC, ReVerSE-U9, ReVerSE-U8, ReVerSE-U16. Спецификация первой и последних трёх.
    RGB должно быть не менее 5:5:5.
    SDRAM 8-16 Mх16.
    Основной режим SCART 50 Гц. Прозрачное отображение его на VGA 50 Гц или HDMI.
    В Speccy2010 только аналоговый VGA, в ReVeRse только HDMI. Это никак не должно влиять на общую часть видеорежима.
    Если в Speccy2010 получится добавить PAL - отлично.

    Предлагаю сделать так, чтобы я мог отлаживать на Speccy2010, а ты на ReVeRse U16. Для этого надо сделать два простых проекта, в которых настройки на конкретную FPGA, тактовый генератор и видеовыход. А остальная часть - общая.
    Последний раз редактировалось zx-kit; 27.06.2015 в 13:27.
    "L-256"

  9. #8

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

    По умолчанию

    Цитата Сообщение от MVV Посмотреть сообщение
    Нефига я тут не смог понять, хоть и старался... Рабочий пример на видео, не смог этому горю даже помочь Непонятно, зачем вам вообще таким со спектрумом на новые мониторы лезть? У него стандарт PAL/SECAM. И причём тут 1920х1080, бери сразу UHD 4К/8K. И почему ты решил, что у меня ничего работать не будет? В подпись мою глянь.
    Я вижу, что все работает. Давай остановимся на 640х480 60 Гц. Скорее всего все современные телевизоры преобразовывают все внутри к частоте 60 Гц. Чтобы в новом режиме не было мерцаний из-за несовпадения частот лучше INT в новом режиме делать 60 Гц.

    Старые игры должны отображаться на VGA также как у тебя сейчас. Только добавить аналоговый VGA для тех, у кого нет HDMI. На современных телевизорах есть VGA вход.

    Разрешение экрана 320х240. Надо на чем-то остановиться. Пока за основу этот режим возьмем. В эмуляторах на PC тоже наверно не 50 Гц, а 60 Гц на экране монитора.
    Последний раз редактировалось zx-kit; 27.06.2015 в 16:10.
    "L-256"

  10. #9

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

    По умолчанию

    Цитата Сообщение от MVV Посмотреть сообщение
    Лучше добавить регистры:
    1) адрес видео буфера 0
    2) адрес видео буфера 1
    3) управления (бит 0=0 отображается буфер 0; 1=буфер 1)

    Хотя хватит одного регистра адреса видео буфера, дальше меняя его, можно хоть 10 буферов в памяти переключать. А так-как видео память линейная, то это ещё можно использовать как сдвиг вверх/вниз на строку.

    Со спрайтами пока повременить. Сейчас доделаю тестовую конфигурацию для U16, потом перенесу на Speccy2010 (нужно будет припаять второй SD разъем для возможности работы DivMMC, нужен будет для загрузки ПО).
    Идея нежесткого расположения буферов хорошая. Но надо 2 регистра для адреса буфера 0 и 1. Обычно в 1 писать а из другого сканер будет отображать на монитор.
    Как работать с DivMMC ? ссылку пожалуйста.
    Какие устройства используют память SDRAM кроме ориентировочного ОЗУ 1M ?
    Наверно надо прикинуть программку для Z80, которая могла бы закрасить экран какими-нубудь полосками.

    Посылать данные из Z80 в видеокарту наверно лучше по 2 байта, например,
    LD (PIXEL), HL.
    Уже надо дешифраторы для команды включения/выключения режима, адресов буферов, адреса точки в SDRAM, данных точки (PIXEL),

    Эти команды надо расположить в адресах 5AXX Z80.

    Биты цвета в слове расположи, как я нарисовал в таблице. Тогда можно будет загрузить в ZX картинку 15 бит, а потом загрузить для пробы в видеокарту.

    ---------- Post added at 14:14 ---------- Previous post was at 14:09 ----------

    Память буфера экрана с промежутками. 320 округлил до 512, 240 - до 256. Это немного увеличивает затраты в SDRAM, зато очень легко по координатам вычислить адрес точки в буфере экрана.
    Последний раз редактировалось zx-kit; 28.06.2015 в 12:12.
    "L-256"

  11. #10

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

    По умолчанию

    Цитата Сообщение от MVV Посмотреть сообщение
    Лучше сделать базовый регистр, будет возможность спроэцировать массив регистров карты на любой из адресов памяти.
    Можно так:
    LD A,1
    LD (0),A
    LD A, BASE_ADDR
    LD (0),A
    Это уже работа блиттера разные прямоугольники и квадраты из памяти вырезать. Если делать так, то тогда видео буфер должен быть 1024x1024 с возможностью указания базы нулевой позиции x,y отображаемой области.
    Это на один экран уйдет 2 мегабайта. На два экрана 4 мегабайта. Многовато. Давай не будем тратить.
    За базовый объем ОЗУ девборды/видеокарты лучше взять 8 Мегабайт.
    Максимум 512*512 на экран - это 512 Кбайт. 1 Мбайт на два экрана.

    ---------- Post added at 14:40 ---------- Previous post was at 14:30 ----------

    Если использовать возможность дорисовывать часть экрана сбоку, а потом сдвигать путем указания смещения, надо возможность по-вертикали и горизонтали по два экрана. То есть 1024*512. Если при этом вместо двух буферов использовать 1, то 1 Мбайт дожно хватить на такой режим.

    ---------- Post added at 14:43 ---------- Previous post was at 14:40 ----------

    Надо составить адресацию всех регистров, чтобы можно было начать разработку дешифратора в FPGA.
    Последний раз редактировалось zx-kit; 28.06.2015 в 12:32.
    "L-256"

Страница 67 из 70 ПерваяПервая ... 6364656667686970 ПоследняяПоследняя

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

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

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

Ваши права

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