Прогресс эмуляции (октябрь 2017)

Итак, октябрь закончился, и пора подвести итоги по прогрессу эмуляции за прошедший месяц!


RPCS3
Разработчики эмулятора PlayStation 3 совершили порядка 130 коммитов:
SPU:
  • реализована эмуляция опкода FM в быстром интерпретаторе и рекомпиляторе, а также исправлены инструкции FMA / FMS / FNMS; благодаря данным исправлениям Journey ушла в ингейм, а в некоторых играх пропали странные геометрические баги
  • реализована эмуляция readch(mfc_cmd)
  • добавлены мертвые зоны в evdev обработчике геймпада (для пользователей linux)
  • начальная реализация sys_net_* сисколлов: теперь можно использовать LLE модуль для эмуляции сетевой библиотеки
  • реализована эмуляция поведения PPU, при котором процессор продолжает работать в случае нарушения доступа к определенной странице памяти
эмуляция RSX и рендереры:
  • реализован апскейлинг: теперь можно запускать игры в 4К разрешении!
  • добавлена опция принудительной анизотропной фильтрации
  • фиксы, благодаря которым теперь некоторые игровые движки не требуют точного режима рендеринга (Id Tech 5)
  • множество иправлений и оптимизаций в кэше текстур
  • реализована программная эмуляция blit engine (медленно! только для разработчиков!)
  • обходные пути для решения проблемы с крахом драйверов AMD на Vulkan и OpenGL рендерерах
  • переписана эмуляция индексного буфера
  • удален хак "Invalidate cache every frame" (больше не нужен)
  • исправлен баг с эмуляцией клиппинга при использовании  Vulkan + GPU Texture Scaling
  • отключена пакетная обработка вызовов отрисовки при использовании точного режима рендеринга
  • устранен серьезный баг в volatile attribute layouts; может исправить черный экран во многих играх
  • исправлено доминирование желтых / голубых оттенков при использовании опции Write Color Buffers
Общее:
  • добавлена опция для удаления кэша LLVM PPU рекомпилятора
  • реализована эмуляция set_native_priority (posix)
  • добавлена поддержка командной строки
  • оптимизирована загрузка модулей PPU
  • множество фиксов и улучшений в графическом интерфейсе
  • добавлена поддержка трофеев: теперь при достижениях в игре возможна разблокировка трофеев и графическое их отображение на экране (наподобие того, как оно сделано в PS3)



Dolphin
  • удалены NAND Check и Launch WAD хаки: теперь эмулятор правильно импортирует метаданные из TMD файлов в Wii NAND. Это позволяет избавиться от повреждения NAND эмулируемой консоли и устраняет некоторые странные баги, которые могли возникать в Wii Shop Channel.
  • отключено выделение ресурсов под декодирование текстур в OpenGL рендерере: избавляет от мерцания текстур в macOS версии эмулятора
  • исправлена частота дискретизации звука в GameCube версии аудиоинтерфейса: на Wii вывод сэмплов звука происходит каждые 1125 циклов при частоте 54MHz, а на GameCube, по какой то причине, каждые 1124 цикла. Для большинства игр эта разница слишком незначительна и не приводит к каким-либо проблемам, но в некоторых играх вроде Sonic Mega Collection звук медленно деградировал, и игра в конце концов вылетала. Сейчас данная проблема устранена.
  • исправлено отрицательное смещение в TGC файлах: демо-игры GameCube используют специальный файловый формат, известный как TGC. The Legend of Zelda: Collector's Edition и The Legend of Zelda: Ocarina of Time Master Quest имели отрицательные смещения в заголовках файлов и поэтому не запускались на эмуляторе. Теперь отрицательные смещения также поддерживаются, и эмулятор способен запустить все известные TGC файлы.
  • исправлен выход за пределы массива в EFB доступе: благодаря эмулятору mGBA (эмулятора GBA для Wii) был обнаружен вылет эмулятора при попытке доступа вне размеров EFB. Теперь в таких случаях эмулятор просто возвращает 0 вместо вылета.
  • добавлена поддержка NAND без ключей: в некоторых случаях NAND файлы дампятся без keys.bin и не работают на эмуляторе. Теперь добавлена поддержка таких дампов.
  • эвристическое обнаружение пользовательских мип-уровней: в некоторых играх вроде Super Mario Galaxy, Super Mario Galaxy 2, The Legend of Zelda: Twilight Princess и еще нескольких других пользовательские мип-уровни используются для достижения различных эффектов. В нативном разрешении они работают корректно, но при апскейлинге данные эффекты ломаются (например, лучи от солнца в Twilight Princess и отображение лавы на расстоянии в Super Mario Galaxy). Теперь пользовательские мип-уровни работают на любых разрешениях!
  • чистка кода пользовательского интерфейса в Android версии эмулятора


PCSX2
Эмулятор PlayStation 2 снова не впечатляет прогрессом: всего 9 коммитов за месяц. Заметных изменений всего пара: исправлен расчет относительного смещения в субканале Q плагина cdvdgigaherz (устраняет проблемы при проигрывании CD Audio), а также добавлено программное преобразование фреймбуфера. Программное преобразование немного медленнее аппаратного, но более точное. Устраняет проблемы с отображением текстур в таких сериях игр, как Harry Potter, Fifa Street и MGS3.



PPSSPP
Эмулятор PlayStation Portable радует 116 коммитами. Из заметного:
  • исправлено определение количества свободного места на диске, используемое системой сохранения игр
  • исправлено зависание эмулятора при использовании быстрых сохранений во время установки данных игрой
  • начата унификация кода работы с фреймбуфером: позволит избавиться от повторения кода в рендерерах
  • теперь эмулятор умеет определять, установлен ли DirectX9 Runtime
  • огромное количество исправлений и улучшений в Vulkan рендерере:
  • большой рефакторинг кода в VulkanRenderManager'е
  • реализовано синхронное чтение фреймбуфера: исправляет отображение меню в God Eater Burst, возможно, Dangan Ronpa и Katamari и некоторых других
  • реализован "подсмотр палитры" и блендинг (смешивание цветов) в шейдерах: исправляет контуры в DBZ: Tenkachi, тени в FF:Type0 и многие спецэффекты в других играх
  • оптимизировано состояние, при котором данные из заднего буфера читаются, но не записываются обратно (небольшой спидап)
  • реализована загрузка шаблонного буфера, исправляет графику в Star Ocean


Xenia
Огромные улучшения в октября! *sarcasm* 1 коммит: реализованы опкоды getGradients в SPIR-V трансляторе шейдеров.




Cxbx-Reloaded
Эмулятор Xbox не сбавляет темпов: 219 коммитов! Из заметного:
  • исправлено неправильное определение устройств, удален хак для JetSet Radio Future
  • исправлен вылет в играх, которые не сообщают об использовании API ввода
  • исправлен баг, при котором мультизагрузочные игры невозможно было остановить
  • реализовано определение состояния вылета игры операционной системой консоли
  • добавлены 90% OOVPA таблиц для XAPI, XNET и XONLINE библиотек
  • улучшена загрузка xbe файлов
  • обавлены OOVPA для 90% функций D3D8
  • большие улучшения в DSound: добавлена поддержка SetLoopRegion и SetPlayRegion, удалены повторы кода. Улучшения в эмуляции звука заметны в огромном количестве игр и сэмплов
  • чистка кода в XREF



Cemu
Публичный релиз v1.11.0:
  • добавлена поддержка онлайн-игры
  • исправления в графике и управлении
  • улучшена совместимость
  • тнны исправлений ошибок и небольших изменений



Citra
Никогда не интересовался этим эмулятором и даже ни разу не запускал его, поэтому вряд ли смогу дать компетентное описание того, что произошло с эмулятором за месяц. Описание большинства коммитов чисто техническое и большинству пользователей будет непонятным и неинтересным. Но в качестве эксперимента, по просьбам пользователей, попробую:
  • команды отрисовки и установки атрибутов выделены в собственные функции из общей кучи
  • параметр APT теперь всегда выставляется при запуске аплета библиотеки
  • archive_ncch теперь использует NCCHContainer вместо загрузки .romfs файлов
  • из кода удалены множество вызовов небезопасной функции Memory::GetPointer()
  • добавлена поддержка полноэкранного режима
  • переписана реализация AM Service и NCCH Archive
  • удалены #pragma once директивы в .cpp файлах
  • обходные пути для проблем со звуком в SDL2 2.0.6
  • Services/AM: реализована функция GetPatchTitleInfos(), исправляет вылет в Flipnote Studio 3D US

Что же, вступаем в последний месяц осени в этом году и продолжает следить за эмуляторами!
+59

Комментарии 12

  1. Радует прогресс Cemu, также, наконец, добавился в новости эмуль 3DS, все таки консоль довольно известная и имеет много неплохих игр.
  2. В целом годнота: кодеров PCSX2(Что обидно им бы последний рывок и добить наконец проект, но увы) и Гроб 360 как всегда задерживают ИРЛ-проблемы - наконец-то 3DS и её эмуль Сitra с нами, Nintendo DS и его эмули в этот раз обделили(они живы вообще?), но надеюсь в следующий "Прогресс эмуляции" они появятся. Как всегда большое спасибо за труды.
    1. s1nka
      s1nka от 5 ноября 2017 08:13
      melonDS в октябре дошел до версии 0.5.
  3. Гость Black
    Гость Black от 4 ноября 2017 17:28
    Радует что разработка RPCS3 активно развивается и судя по скриншоту на сайте разработчиков в ближайшее время они смогут запустить Infamous.
  4. Всем привет))

    Спасибо за прогресс репорт :)
    --------------------
    Мой ПК:
    Intel Core i7-3770K 3500 GHz.
    Nvidia GTX 1070 8GB Gigabyte. (NEW UPGRADE!)
    8GB RAM 1333. (Kingston 4GBx2)
  5. Илья
    Илья от 5 ноября 2017 07:47
    А как же забыли про Recompiler - эмулятор Xbox 360?
  6. Артем
    Артем от 6 ноября 2017 11:34
    Цитата: Илья
    А как же забыли про Recompiler - эмулятор Xbox 360?


    это не эмуль, а инструмент для прямых портов, разбирает xex и компилит экзешник с библиотеками на сс+
  7. MKLIUKANG1
    MKLIUKANG1 от 12 ноября 2017 23:30
    Радует, что на эмулятор Cxbx-Reloaded не забили, а продолжают развивать. Спасибо! 
  8. Grigorio
    Grigorio от 16 ноября 2017 22:53
    Всем доброго времени суток . знаете очень жаль что "забросили pcsx2" . да эмуль годный , за что огромное спасибо его разработчикам . я осознаю, что проделана колоссальная работа над этим эмулятором , для того чтобы он работал так ,как работает сегодня . но все же во многих играх встречаются серьезные проблемы . нужен этот последний шаг , чтобы доработать этот эмулятор . это было вполне ожидаемо что все силы бросят на rpcs3 . но все же очень жаль что решили как то завязать с пс2 . вы скажете консоль сейчас 2000т.р стоит . купи играй . купить консоль ради 1-2 игр ? . надеюсь с эмулятором пс3 такого не будет . и все равно спасибо программистам за сделанную работу . очень надеюсь что об эмуляторе пс2 не забудут .
    у самого нормальный комп i7 10gb ozu .а играю на нем лишь миднайт клуб 3 ремикс на эмуле от пс2 . и знаете в чем прелесть эмулятора ? в том что можно так же играть с геймпада . но при этом влепить сглаживание высокого уровня и текстуры . и тогда получается ты играешь в старую добрую плойку но с куда более приятной графикой . с графикой на голову выше . вот поэтому мой выбор это эмулятор а не приставка :) да и вообще , нажал Esc отправил комп в сон , ушел по делам . пришел через неделю , ударил по пробелу , нажал "Запуск" "продолжить" . играешь дальше прямо с середины гонки . нет это не читерство . это равносильно тому что ты поставил на паузу на целую неделю :) Всем добра ! пользуйтесь эмулями . и запомните : есть консольщики , пкашники и есть Мы Эмуляторщики ! Мы это следующая стадия Эволюции задротов !
  9. Цитата: Grigorio
    Всем добра ! пользуйтесь эмулями . и запомните : есть консольщики , пкашники и есть Мы Эмуляторщики ! Мы это следующая стадия Эволюции задротов !


    Пррррравильно. Мы гибрид пкшников и консольщиков, результат экспериментов по выращиванию идеального геймера, унаследовавшее всё самое лучшее со всех платформов. Мы высшая форма жизни! Мы гении чистого космического геймерского разума, способные одним лишь касанием мысли извергнуть ниверных! Мы Избранные самими мирами видеоигр, спустились с небес, дабы нести мессию!
    Ибо все эти пекари и консольщики просто жалкая пыль по сравнению с нашей мощью! Да пусть же они склонятся перед ликом всевышних богов видеоигр! Да пусть же эти жалкие пкшные черви и консольные насекомые целуют наши длани и лижут наши стопы, дабы мы обратили на них взор!! Ибо наши очи видят истину, уста говорят только правду, а совершаем лишь праведное!! Ибо! Мы!! Эмуляторщики!!! Уверуйте же!!!!
  10. Хочу и я отписаться о PCSX2 - поругать и похвалить одновременно!
    Сначала о хорошем, хотя это уже было частично сказано: действительно огромная благодарность за труд разработчикам, реально молодцы! Недавно откопал из дальних ящиков свою старушку ПС2, ведь там столько ещё непройденных эксклюзивов, и чуть глаза из орбит не вылезли, как же всё ужасно выглядит в родном разрешении плойки. То ли дело эмульчик! Тут тебе и ФуллХД, и фильтрация текстур - это по визуальной части... а есть ведь и другие плюшки, вроде быстрых сохранений, например... В общем большое спасибо ребятам и троекратное УРА! Это действительно подвиг в мире геймеров.
    Теперь же о печальном... похоже что у разработчиков уже опускаются руки в данной теме, или просто не стоИт уже на этот проект. Я в последнее время довольно пристально слежу за развитием эмулятора, потому что действительно на ПС2 есть во что поиграть, и каково же было моё возмущение, когда в очередной ревизии эмулятора из нового было только "добавлена поддержка карт памяти PSX". Добавлена поддержка карт памяти первой ПС! ВЫ СЕРЬЁЗНО!? Я не программист и, возможно, чего-то не понимаю до конца, но блин! зачем мне карты памяти PSX когда игры 15ти летней давности не умеют идти на нормальной скорости на относительно новом железе? Сам я играю на ноуте, понимаю что ждать от него чудес не нужно, но тот же Теккен 7 у меня идёт 55-60 fps в 1080p на минималках. Зато Теккен 4 или 5 на эмуле на тех же минималках выдаёт то ещё слайд-шоу (((( Да, я знаю о сложности архитектуры ПС2, но всё же прошло уже больше 15 лет со дня выхода консоли, да и прогресс ПК железа на месте, отнюдь, не стоит. О багах я молчу, тут всё относительно нормально, они выявляются, подправляются, либо же вовсе не мешают игровому процессу, в этом плане всё прилично и меня устраивает.
    Итог: Работа над эмулятором ведётся, это видно, многие игры идут заметно лучше - за это и хвалим разработчиков. А с другой стороны тут либо развитие эмулятора зашло в тупик, либо у команды творческий кризис... возможно это действительно тот максимум, который можно выжать из PCSX2 и некоторые игры в конце концов так и останутся по зубам только топовым десктопным процам.
    В любом случае разработчикам желаю успехов, а пользователям эмулятора (или разных эмуляторов) железных нервов и терпения! 
  11. Артур
    Артур от 19 ноября 2017 11:52
    На Phenom II 10 90T, DDR3-1600 4 Gb, HD 6870 в 720р сборка pcsx2 2014-го - летало все на ультра, а за 3,5 года огромное количество фиксов и оптимизаций было. Операционку нужно оптимизировать, а не загаживать мусором и т.д.
Добавить комментарий

Оставить комментарий