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

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Sega Saturn: что было

Тема в разделе "Приставочный уголок", создана пользователем Кишмиш, 9 фев 2014.

  1. Scorp Никто и звать меня никак

    Scorp

    Регистрация:
    21 апр 2005
    Сообщения:
    2.955
    Если ты про хак с VFW на Сатурне, то спрашивай у автора хака (@paul_met), где они содержатся, я-то откуда знаю, раз он исходные тексты/записи/информацию не выкладывает? :) Какая разница-то? Лежит где-то в области, которая не перезатирается ничем таблица байт на 60 с ширинами букв, по ней и ориентируется. Или можно у него там сначала код буквы, потом ширина, но это расточительно. Я для любопытства и хотел посмотреть на его реализацию VFW, но он же не показывает...
    Ну спамишь и что? Ширина будет по коду буквы высчитываться при печати. Я же объяснял.
     
    Последнее редактирование: 13 ноя 2020
  2. Gerhalt Saturn Addict

    Gerhalt

    Регистрация:
    23 ноя 2016
    Сообщения:
    3.956
    Тааакс, надо немного разбавить зависшую атмосферу ромхакинга - подумал я и мне как раз подвернулся удачный видос, точнее ютуб вывел мне его в рекомендациях. Вроде здесь в трэде уже мелькали ролики про сатурновую Ку. Точно помню как постилось тащилово Дюка и видос про Exhumed/Powerslave.
     
  3. paul_met

    paul_met

    Регистрация:
    9 ноя 2008
    Сообщения:
    128
    @Scorpion ZS 256, Эмулятор Yabause имеет всё необходимое для отладки (как кода, так и графики). Шаг символов определяется исходя из Х координат соседних символов, которые можно посмотреть в отладке VDP1 (если шрифт выводится через VDP1). Когда найдено место в коде, где генерируется шаг вывода символов (обычно просто ADD #0x10, Rx, где Rx начальная Х координата или SHLL4 Rx, где Rx счётчик символов), делаем прыжок к своей подпроцедуре выборки ширин из таблицы исходя из кода символа (что уже было озвучено).
     
    Последнее редактирование: 13 ноя 2020
    Gerhalt нравится это.
  4. Gerhalt Saturn Addict

    Gerhalt

    Регистрация:
    23 ноя 2016
    Сообщения:
    3.956
    @paul_met, это механизм вывода текста в LLStory или обобщённый пример?
    Паш, мне вот ещё что любопытно знать про Линкл Ливер: что конкретно обрабатывает vdp1 и vdp2? Насколько я понимаю (вернее предполагаю), первый чип отвечает за спрайты, а второй - задники, это так? А вот когда в игре всплывает окошечко с текстом, его ведь тоже vdp1 рендерит? А менюшку паузы?
     
  5. paul_met

    paul_met

    Регистрация:
    9 ноя 2008
    Сообщения:
    128
    VDP1 более универсальный процессор для обработки графики и может выводить всё, что угодно (но имеет менее полумегабайта памяти под спрайты). А вот VDP2 более ориентирован для прокрутки фонов и создания бесконечных тайловых поверхностей, которые умеют поворачиваться на 360 градусов (полигоны VDP2 не умеет обрабатывать). По этому разработчики, как правило, старались максимально разгружать VDP1 и спихнуть всё, что возможно на плечи VDP2 (особенно в 3D играх). Спрайтовую анимацию, конечно, можно и на VDP2 замутить, но это не очень эффективно. Хотя в Valhollian, например, при подключении 4MB карты расширения на логотипе SEGA анимацию Рея мне было проще сделать именно через VDP2.
    В Линкле менюшки паузы и диалогов выводятся через VDP1 (видимо, все слои VDP2 были задействованы).
     
    Последнее редактирование: 13 ноя 2020
    Gerhalt нравится это.
  6. Gerhalt Saturn Addict

    Gerhalt

    Регистрация:
    23 ноя 2016
    Сообщения:
    3.956
    А вот возьмём к примеру сатурновую Лариску (Tomb Raider), как я понимаю, в игре чуть ли не все поверхности рендерит vdp2? Причём они являются сетками тайлов, повёрнутых к смотрящему под нужным углом так, чтобы создать иллюзию пола, стен и потолка. А модельку гг и врагов (а также немногочисленные спрайты hud'а и подбиралок) обрабатывает уже vdp1, который просто работает с кучкой квадов (спрайтов), располагая их так, чтобы они в итоге формировали эти самые модельки. Правильно ли я понимаю суть?
     
  7. paul_met

    paul_met

    Регистрация:
    9 ноя 2008
    Сообщения:
    128
    Нет, VDP2 может крутить только одну плоскую поверхность (пол арены в DoA, VF2 и подобных). Все полигоны (с текстурами / спрайтами и без них) в 3D играх обрабатывает исключительно VDP1.
     
  8. Gerhalt Saturn Addict

    Gerhalt

    Регистрация:
    23 ноя 2016
    Сообщения:
    3.956
    @paul_met, Паш, слушай, так это значит наоборот от твоего предыдущего утверждения:
    Хотя, VDP1 всё равно не сможет справиться самостоятельно, поскольку:
    Или разрабы абузили какие-то хитрые трюки чтобы этого хватало? Неясно. :hmmm:

    А если надо и плоскость крутить (упомянутая арена из VF2), и фоновую картинку (скайбокс) деформировать (хотя бы незначительные наклоны влево/вправо или небольшой зум)?
     
  9. paul_met

    paul_met

    Регистрация:
    9 ноя 2008
    Сообщения:
    128
    Ничего не наоборот. Всё, что можно сделать на VDP2, лучше делать там. Тем более в 3D, где основная нагрузка на VDP1. Ты думаешь, почему в 3D играх в подавляющем большинстве случаев перевес был на стороне PS1? Не только из-за того, что PS1 быстрее обрабатывает полигоны, но и видеопамяти под текстуры на плойке больше (где-то 768 кб из 1024 кб, так как часть видеопамяти занято под фреймбуфер). А на Сатурне в портах 3D игр приходилось урезать качество текстур из-за почти в двое меньшего размера видеопамяти VDP1 (там сидят не только спрайты, но и их координаты, и палитра). У VDP2 была собственная видеопамять в 1 мб, но эту память не мог юзать процессор VDP1. Поэтому всякие мелочи, типа лайвбаров, окошек диалогов и т.д. перекидывали в VDP2, чтобы освободить место под текстуры. Хорошо разгрузить VDP1 в 3D удавалось, если сделать пол / основание плоским (для обработки через слои RBG0 или RBG1 усилиями VDP2). Но такой трюк был актуален в основном для 3D файтингов, где не было сложного разноуровневого ланшафта. Хотя, такую фишку можно увидеть и некоторых локациях в шайнинг форс 3 или в Грандии.

    Зум можно делать через слои NBG0 и NBG1 (для VDP2), деформировать нельзя - для этого и нужен VDP1.
     
    Последнее редактирование: 13 ноя 2020
    Gerhalt нравится это.
  10. Starik_2005

    Starik_2005

    Регистрация:
    12 дек 2017
    Сообщения:
    264
    Этого чела не раз кажеться сюда кидали кстати, (сам время от времени захожу на его канал и смотрю). Там видос был и о думе, кстати если зашла речь о Doom. Откуда росли руки у сотрудников Rage Software? и где был мозг у id software,? когда так плохо портровать игру на Sega Saturn, и почти точь в точь как на пк на Sega 32X. ЧТО МЕШАЛО ПЕРЕНЕСТИ ИГРУ ИЗ ОДНОЙ ПЛАТФОРМЫ, НА ВТОРУЮ С ОДИНАКОВОЙ АРХИТЕКТУРОЙ И ДАЖЕ НЕМНОГО МОЩНЕЕ ПРЕДЫДУЩЕГО?
     
  11. Gerhalt Saturn Addict

    Gerhalt

    Регистрация:
    23 ноя 2016
    Сообщения:
    3.956
    А как раз вот эти слои отвечали за z sorting, так? И то далеко не безупречно, ибо много где можно наблюдать артефакты z fighting, хоть и относятся они в основном, как я понимаю, к слоям RBGx чипа VDP1.

    Любопытно, какие трюки использовали разрабы при портировании геометрически сложных 3Д тайтлов на Сат? :hmmm: та же Квака или гравитанки Assault Rigs......первое, что приходит в голову под термином "оптимизация" - уменьшение дальности отрисовки + упрощение геометрии моделек.
    --- добавлено 13 ноя 2020, предыдущее сообщение размещено: 13 ноя 2020 ---
    :shok: а разве у 32х и Сата одинаковая архитектура?
     
  12. paul_met

    paul_met

    Регистрация:
    9 ноя 2008
    Сообщения:
    128
    Слои NBG0 и NBG1 можно просто дополнительно масштабировать по Х и Y, в отличие от NBG2 и NBG3. Слои RGB0 + RGB1 не могу быть одновременно задействованы (NBG0 + RBG1 тоже). Все эти слои относятся к VDP2. Процессор VDP1 слоёв не имеет. Там только спрайты / полигоны / линии с разным приоритетом.
    Так и есть.
     
    Gerhalt нравится это.
  13. Gerhalt Saturn Addict

    Gerhalt

    Регистрация:
    23 ноя 2016
    Сообщения:
    3.956
    То есть выборка по глубине осуществляется через эти самые приоритеты, данные о которых находятся в его (чипа VDP1) видеопамяти?
    Кстати, а разве у Сата полигоны/квады это что-то отдельное от "просто" спрайтов? Или это по-прежнему спрайты, но им присваивается ряд спец.атрибутов?

    Почему? Каковы их особенности?

    Так а зачем их такое количество? У каждого особенное свойство и/или назначение?
    Окай, допустим VDP2 рисует и задник, и какойнить элемент HUD'а (лайфбар). Это однозначно разные слои, но ведь можно обойтись какимнить простецким приоритетом, как у VDP1, разве нет?
     
  14. paul_met

    paul_met

    Регистрация:
    9 ноя 2008
    Сообщения:
    128
    Полигон - залитый цветом четырёхугольник (без текстуры).

    Смотри скрин.

    Иногда и этого кол-ва слоёв не хватает в более сложных играх. У каждого слоя и так есть свой приоритет и степень прозрачности.
     

    Вложения:

    • VDP2.png
      VDP2.png
      Размер файла:
      87,1 КБ
      Просмотров:
      53
  15. Gerhalt Saturn Addict

    Gerhalt

    Регистрация:
    23 ноя 2016
    Сообщения:
    3.956
    Или "проволочный", который wireframe. Но подмечено верно. Это у меня в голове они (полигоны) УЖЕ текстурированы почему-то стали, хотя изначально там сплошная заливка.

    Вижу, спасибо, но пока далеко не всё понятно. Например почему некоторые слои не могут отображать битмэп (фоновая картинка?) и выполнять скейлинг? К тому же неясно отчего некоторые их сочетания невозможны, то есть почему nbg0 не канает в связке с nbg1/rbg1?

    Слои умеют в альфаблендинг? :shok: выходит, посредством такого слоя (в дебагере можно даже узнать какого именно) реализован полупрозрачный тоннель во вступительном уровне Мегамена Х4. Ну а раз остальное рисуется силами VDP1, то там уже везде будет дизеринг. Надеюсь, я верно понял. :blush:
     
  16. Starik_2005

    Starik_2005

    Регистрация:
    12 дек 2017
    Сообщения:
    264
    Ну точно процесор одинаков, только работает на меньшей частоте (23 мегагерца вроде), а вот за видеочип я хз, там вроде несказано. Однако я слышал что писать было одинаково сложно как на сатурне, так и на Sega 32X
     
  17. paul_met

    paul_met

    Регистрация:
    9 ноя 2008
    Сообщения:
    128
    Потому, что это ограничение железа.

    Все слои / спрайты умеют полупрозрачность (причём VDP2 слои её и с разной интенсивностью это могут делать), только есть ограничения на их совместное использование (VDP1 и VDP2). Поэтому часто полупрозрачность заменяли сеткой, которая на экране старого лампового ТВ была фактически тоже полупрозрачностью.
     
    Gerhalt нравится это.
  18. Scorp Никто и звать меня никак

    Scorp

    Регистрация:
    21 апр 2005
    Сообщения:
    2.955
    Про эмулятор написал, а про
    Как символы выводятся мне не надо, мне в общем ссылку на человекопонятную доку (не от разработчиков) про вывод графики и архитектуру.
     
  19. paul_met

    paul_met

    Регистрация:
    9 ноя 2008
    Сообщения:
    128
     
    Gerhalt нравится это.
  20. Scorp Никто и звать меня никак

    Scorp

    Регистрация:
    21 апр 2005
    Сообщения:
    2.955
    Не, видео не надо, спасибо. Да оно у тебя и не о том, я бы вечные жизни искал вообще не так, а чит энжином и это было бы намного быстрее :) Документация (текст с картинками) есть про выводы графики, использование текстур, загрузку файлов, вот это всё в нормальном виде?
     
    Последнее редактирование: 14 ноя 2020
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление