Конзолата PlayStation 5 на Sony вече може да стартира игри, създадени за първия Xbox на Microsoft, стига самата PS5 да е с отключен софтуер. Тази седмица разработчик с псевдоним ZiZc3 публикува в GitHub първата публична версия на XPSemu (обозначена като Alpha 1), която вече позволява стартирането на заглавия като Halo 2, Forza Motorsport и Fable: The Lost Chapters.

XPSemu е порт на xemu – емулатор с отворен код за оригиналния Xbox, предназначен за компютри – и работи като нативно приложение за PS5, а не като обвивка (wrapper) или libretro ядро. В документацията се посочва, че емулаторът превежда кода на процесора на Xbox чрез JIT (just-in-time) компилатора TCG на QEMU и визуализира графиката NV2A на конзолата посредством Vulkan рендерера на xemu. Този рендерер работи върху RADV – драйвера с отворен код на Mesa за AMD Vulkan, който е адаптиран за хардуера на Sony чрез проекта PS5_Vulkan. Разработчиците представиха и два други проекта, насочени към игри за Xbox 360 и софтуер за Windows PC, работещи на конзолата, макар нито един от тях да не е пуснат за публично ползване.

Според собствените тестове на разработчика, Halo 2 върви с 30 кадъра в секунда без модификации. При прилагане на пач за 60 fps, създаен от фенове, играта достига 51–60 fps в началната сцена и 36–50 fps по време на същинската игра. Forza Motorsport поддържа лимита от 30 fps в менютата, но кадровата честота пада до 15–21 fps по време на състезание. Fable: The Lost Chapters върви с 22–30 fps в много от зоните, като спада до 10–20 fps в по-тежките сцени, докато за Crash Bandicoot: The Wrath of Cortex разработчикът отбелязва, че работи гладко.

Според проектната документация производителността се ограничава от процесора, а не от графичния хардуер. Емулираният процесорен поток на Xbox е натоварен между 85% и 97% от времето, докато графичният процесор (GPU) на PS5 остава до голяма степен неизползван. Разработчикът отдава това на транслатора за общи цели на QEMU и на ядрата Zen 2 в PS5, които работят на 3,5 GHz и изостават от бързите настолни процесори по отношение на производителността на отделно ядро. Поради това увеличаването на вътрешната разделителна способност от стандартните за Xbox 480p до четирикратна стойност (4x) почти не влияе на кадровата честота. Оптимизациите, базирани на данни от профилиране, вече повишиха кадровата честота в началната част на играта Fable от около 7 fps (в ранните версии за PS5) до стойности между 23 и 30 fps.

XPSemu включва собствено меню (dashboard), вдъхновено от това на Xbox и проектирано за управление с контролера DualSense; то предлага въртележка с обложките на игрите, списък с наскоро играни заглавия и проследяване на времето, прекарано в игра за всяко отделно заглавие. Потребителите могат да задават индивидуални настройки за разделителна способност, дисплей и звук за всяка игра. Емулаторът също така прилага пачове (във формата Jay's Magic Patch) директно в паметта по време на зареждането на играта, без да променя оригиналния дисков образ, и предоставя екранен панел (т.нар. overlay) с информация за кадровата честота, времето за рендиране на кадър и натоварването на процесора.

За стартирането на XPSemu е необходима хакната конзола PS5, позволяваща зареждането на потребителски приложения, както и помощна фонова програма, наречена XPSemu Tools, която работи паралелно с полезния товар kstuff. Потребителите трябва сами да осигурят файловете за Xbox BIOS, MCPX boot ROM и образа на твърдия диск, извлечени от оригинален хардуер, тъй като проектът не включва никакъв програмен код или игри на Microsoft. Игрите трябва да се съхраняват във вътрешната памет на конзолата във формат XISO, тъй като емулаторът не може да зарежда съдържание от оптичен диск. Разработчикът уточнява, че XPSemu няма връзка с Microsoft, Sony или проекта xemu.

Във версия Alpha 1 емулираният Xbox е ограничен до 64 MB памет, а разработчикът препоръчва емулацията на аудио DSP да остане изключена, тъй като тя води до сериозно забавяне на работата при заглавия като Halo 2 и Forza Motorsport. Функцията за запазване на състоянието на играта (save states) все още не се поддържа, а промените в разделителната способност влизат в сила само при превключване между отделните игри. Планът за развитие на проекта предвижда внедряване на опция за генериране на кадри чрез базиран на отворен код Vulkan порт на технологията FSR 3 на AMD (целяща да представи игри с 30 fps при 60 fps), както и добавяне на мениджър за запазени игри и допълнителни оптимизации на процесора.

Снимка: Unsplash/GitHub

Виж още: Ritello Maximus – следващото ниво на чистотата

 

Тагове:
Още от Play