Najnowsza odsłona emulatora Play! oznaczona numerem 0.72 przynosi fundamentalne usprawnienia w matematycznej poprawności wykonywania kodu Emotion Engine oraz rozbudowaną emulację peryferiów dla automatów arcade System 246/256, bazujących na architekturze PlayStation2. Poprzez wprowadzenie dedykowanych mechanizmów kompilacji dla operacji dodawania i odejmowania na liczbach zmiennoprzecinkowych pojedynczej precyzji, autorzy wyeliminowali kluczowe błędy synchronizacji w wymagających silnikach fizycznych. Równie ciekawie wygląda warstwa sprzętowa, w której zaimplementowano zaawansowaną interoperacyjność z zewnętrznymi systemami sprzężenia zwrotnego (force feedback) dla pistoletów świetlnych i kierownic.

Lista zmian jakie względem poprzednich odsłon znalazły się w stabilnym wydaniu z 1 stycznia 2026 r., obejmuje zakresem m.in.:
- zaimplementowano instrukcję MMI
PSUBSB(Packed Subtract Signed Byte z nasyceniem) w rekompilatorze procesora Emotion Engine, - rozbudowano podsystem
Iop_Spu2o pełną obsługę trybu obejścia sygnału S/PDIF (S/PDIF bypass mode), realizując przetwarzanie danych wejściowych audio jako przeplatane stereo (interleaved stereo), usuwając niepotwierdzoną flagęC_SPDIF_PROTECToraz przenosząc definicje rejestrów S/PDIF do wspólnego typu, - podwojono efektywną częstotliwość próbkowania (
sample rate) podczas odczytu danych z obszaru wejściowego audio SPU2,
- wdrożono dodatkowe mechanizmy kompilatora (
compile hints) oraz opcję konfiguracyjną aktywującą matematycznie precyzyjną emulację instrukcji zmiennoprzecinkowychADD_SlubSUB_S, co w połączeniu z poprawkami w makroinstrukcjiFpAddTruncaterozwiązało problem zawieszania się kodu w określonych sekcjach Kingdom Hearts 2 oraz Kingdom Hearts 2 Final Mix, - przeniesiono obsługę zdarzeń dźwiękowych w strukturze kodu do scentralizowanego modułu oraz przepisano logikę sieciową sprzężenia zwrotnego, przenosząc interakcje wyjściowe z głównego okna interfejsu wprost do dedykowanego nasłuchiwania w obiekcie
Iop_NetworkOutput, którego cykl życia powiązano z instancjąCSys246, - zaimplementowano interoperacyjność z protokołem MAMEHooker za pośrednictwem komunikatów systemowych Windows, umożliwiając obsługę cewki odrzutu (lightgun recoil) w pistoletach świetlnych dla systemów arcade,
- rozszerzono emulację I/O standardu TSS oraz JVS o obsługę operacji zapisu na rejestrach GPIO (w tym obniżono próg wyzwalania sygnału odrzutu dla kompatybilności z wieloma typami płyt), co przywróciło obsługę efektów świetlnych w grach Cobra: The Arcade lub Vampire Night,
- sfinalizowano niskopoziomową emulację dedykowanej płyty sterującej mechanizmami kierownicy (steering board emulation), dzięki czemu w pełni uruchomiono obsługę osi skrętu, pedałów gazu oraz hamulca,
- wdrożono poprawki w obsłudze portu szeregowego oraz skorygowano błąd logiczny w funkcji
SERIAL_READ, który mógł doprowadzić do przepełnienia bufora wejściowego, - wymuszono globalną aktywację trybu wyświetlania 31kHz dla wszystkich definicji maszyn System 246 (usuwając wcześniejszy wyjątek dla Soul Calibur 3) oraz dodano brakujące stałe dla trybu HDTV 480P,
- zaimplementowano prawidłowe identyfikatory płyt wejścia/wyjścia (MIU-I/O board ID) dla japońskich wersji automatowych, eliminując m.in. błąd migania ekranu oraz błędne mapowanie przycisku spustu w Time Crisis 3 oraz Time Crisis 4 (JP),
- dodano nowe pliki konfiguracyjne automatów (
.arcadedef) dla tytułów Battle Gear 3J, Mobile Suit Gundam SEED Destiny DX (zgundmdx) oraz zintegrowano poprawki licznikaT1_COUNTzapobiegające zawieszaniu scen 3D i tras początkowych w grach z serii Battle Gear 3, - w inetrfejsie
GSH_Vulkandodano obsługę rozszerzania kanału alfa (alpha expansion) dla specyficznych typów pikseliPSMZ16orazPSMZ16S, a także zablokowano możliwość zapisu do bufora Z, gdy współdzieli on ten sam adres pamięci z buforem ramek (framebuffer), - w module
GSH_OpenGLpoprawiono wydajność procedur weryfikujących modyfikacje stanu, - dodano bazy heurystyk pomijania pętli bezczynnych (
idle loop / skip patches) dla gier z serii Burnout oraz Fushigi no Umi no Nadia, - usunięto przestarzały interfejs Win32 dla odtwarzacza
PsfPlayer, zreorganizowano jego potok budowania w środowisku CI na platformie Windows oraz wyeliminowano błędy kompilacji w wersjach bez aktywnego debugera, - zaktualizowano skrypty integracyjne CI, wymuszając korzystanie z Xcode 16.4 dla systemów iOS za pomocą modułu
setup-xcodena obrazachwindows-2022, a także zaktualizowano zewnętrzne podmodułyFramework,CodeGenoraz zależności systemowe, - w interfejsie Qt usunięto minimalne ograniczenia wymiarów dla widżetu rozruchowego konsoli (
bootable view widget) oraz wyłączono system transakcyjny warstwy Metal w Qt6 dla poprawy stabilności na macOS.
Skupienie prac wokół rygorystycznej poprawności instrukcji zmiennoprzecinkowych Emotion Engine bezpośrednio przekłada się na stabilność emulacji zaawansowanych silników renderujących z ery PS2, eliminując trudne do wyłapania błędy zaokrągleń w obliczeniach transformacji. Krok ten, w połączeniu z bezprecedensowym rozwinięciem emulacji peryferiów JVS oraz TSS-I/O dla unikalnych maszyn salonowych, pozycjonuje Play! 0.72 jako wiodące oprogramowanie w sferze zachowania dziedzictwa cyfrowego systemów Namco System 246/256. Równoczesne uporządkowanie kodu SPU2 pod kątem natywnego sterowania strumieniami audio stereo w trybie bypass oraz optymalizacje pamięci w Vulkanie udowadniają, że projekt skutecznie zamyka architektoniczne długi technologiczne, oferując wysoce zoptymalizowane środowisko uruchomieniowe.
Zapraszam do sekcji Pliki gdzie znajduje się kod źródłowy programu, najnowsze stabilne wydania dla mobilnych systemów z rodziny iOS oraz Android, jak również archiwa dla dużych maszyn pracujących pod kontrolą systemów Linux, macOS oraz Windows.
