PSP oyunları WebAssembly ile doğrudan tarayıcıya taşındı
Öne çıkanlar
- MIPS makine kodunu C++ ve WebAssembly'ye çeviren sistem, oyunları emülatörsüz çalıştırıyor.
- Grafik motoru WebGL2 ve OffscreenCanvas kullanarak orijinal çözünürlüğün 4 katına kadar çıkabiliyor.
- Disk verileri tüm dosyayı indirmek yerine HTTP Range istekleriyle parça parça çekiliyor.
Açık kaynaklı yeni bir proje, PlayStation Portable konsoluna ait MIPS makine kodunu önceden derleme yöntemiyle doğrudan C++ diline ve ardından WebAssembly biçimine aktararak web tarayıcılarında çalıştırmayı başardı. Emülatör kullanmayan bu altyapı, PSP donanımını ve işletim sistemi çağrılarını tarayıcı üzerinde yeniden oluşturuyor. Görsel çıktı ise doğrudan WebGL2 teknolojisiyle ekrana yansıtılıyor. İlk olarak Ready at Dawn stüdyosunun geliştirdiği God of War: Chains of Olympus ve God of War: Ghost of Sparta yapımları bu yöntemle tarayıcıya uyarlandı.
Sistem, PSP'nin ana işletim sistemi çekirdeğini üst seviye simülasyon mantığıyla tarayıcı ortamında taklit ediyor. Bellek yönetimi, kooperatif iş parçacıkları, ses sentezleyici ve dosya sistemi web standartlarına uyarlandı; disk verileri ise HTTP Range istekleri üzerinden ihtiyaç duyuldukça akış halinde çekiliyor. God of War oyunları bilgisayarlarda saniyede 60 kare hızında ve orijinal çözünürlüğün dört katına kadar çıkılarak oynanabiliyor. Ayrıca dokunmatik ekran kontrolleri desteğiyle mobil cihaz tarayıcılarında da akıcı şekilde çalışıyor.
Geliştirici, ilk derlemelerde saniyede 6 kareye kadar düşen performansı optimize etmek için grafik motorunu ve çekirdek işlemlerini web iş parçacıklarına (worker threads) ayırdı. SharedArrayBuffer ve OffscreenCanvas gibi ileri düzey web API'lerinin kullanıldığı proje, bağımsız oyun verisi içermiyor; kullanıcılar kendi disk kalıplarını yerel ortamda derleyerek kişisel web sayfalarına dönüştürüyor. Diğer PSP oyunlarının çalışabilmesi için henüz eksik olan sistem çağrılarının ve grafik komutlarının eklenmesi gerekiyor.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.