HLE, PS5PCEM'in bir oyunun içe aktardığı sistem yazılımı çağrılarını yanıtlama biçimidir. Her sayısal NID, ana sistem yığınında çalışan bir Zig işlevine dönüşür; Windows'ta misafirin System V çağrı kuralı korunur.
Nasıl çalışırUygulama
PS5PCEM nasıl çalışır
Her sayfa emülatörün gerçekten çalıştırdığı bir mekanizmadır: konsol ne yapar, Zig kodu ne yapar ve neler hâlâ eksik.
17 Ekim 2026 tarihine kadarki depo notları
Sistem yazılımı ve HLE
AMPR sayaçları
KısmiPS5PCEM'deki AMPR, konsolun sayaç ve tamamlama komutlarının işleme özel bir yazılım modelidir. Yüz yirmi sekiz sayaç, gönderim sırasıyla yazımları, atomik alan güncellemelerini, eşli okumaları ve maskeli beklemeleri kabul eder.
Nasıl çalışırAPR bir oyun dosyasını bir kez çözer ve sonraki komut arabelleklerinde işleme özel bir tanımlayıcı taşır. Ertelenmiş AMPR okumaları, bir ana sistem tanımlayıcısını sonsuza dek tutmadan aynı salt okunur /app0 dosyasını yeniden açar.
Nasıl çalışırMisafir adresleri gerçek ana sistem adresleridir. Doğrudan bellek, bu alana eşlenen seyrek, paylaşılan bir fiziksel havuzdur; MemoryPool aynı destek üzerinde ayırma, taahhüt ve toplu işlemler ekler.
Nasıl çalışırKayıt verileri
ÇalışıyorBağlanan bir kayıt yuvası yazılabilir bir /savedata0 olur. Oyun sıradan dosya API'sini kullanır ve bir sonraki başlatma aynı dosyaları oyunun bildirdiği ürün kodu altında bulur.
Nasıl çalışırYazı tipi işleme
KısmilibSceFont, oyunun sağladığı TrueType ve OpenType yazı yüzlerini FreeType ile rasterleştirir. Sistem yazı tipi istekleri Latin, Yunan ve Kiril için birlikte gelen Noto Sans yedeğini kullanır.
Nasıl çalışırPNG kodlayıcı, satır aralıklı RGBA veya BGRA piksellerden 8 bitlik RGB veya RGBA dosyalar yazar. Kod çözücü, taramasız gri tonlamalı, paletli, RGB ve RGBA görüntüleri denetlenmiş bir misafir arabelleğine okur.
Nasıl çalışırGerçek zamanlı saat
KısmiRTC takvim alanlarını denetler, Windows FILETIME'ı dönüştürür ve tıklar üzerinde denetimli aritmetik yapar. Misafir, ana sistemin yaz saati dönüşümü olmadan tutarlı bir saat görür.
Nasıl çalışırWindows'ta her libSceFiber fiber'ı gerçek bir Windows fiber'ıdır; bu yüzden bir geçiş misafir yazmaçlarını ve misafir yığınını korur. Kullanıcı düzeyi iş parçacıkları aynı pthread yolundan başlar.
Nasıl çalışırÇekirdek AIO API'si bir okuma grubunu kabul eder ve bir tanımlayıcı döndürür. PS5PCEM grubu, arayüzün izin verdiği şekilde gönderim anında yürütür ve oyun tamamlanmış bir sonuç toplar.
Nasıl çalışırGrafik
Bir PS5 oyunu GPU paketlerini kendi belleğinde oluşturur ve arabelleği gönderir. PS5PCEM bu PM4 akışını çözer, yazmaç durumunu tutar ve çizimleri ve dispatch'leri sırayla yürütür.
Nasıl çalışırPlayStation 5 shader'ları RDNA2 makine kodudur. PS5PCEM GFX10 ailelerini çözer, bir denetim akışı grafiği oluşturur ve desteklenen işlemleri Vulkan için SPIR-V 1.5'e dönüştürür.
Nasıl çalışırS_SETPC_B64 ile devam eden bir getirme shader'ı dahil birleştirilmiş NGG köşe noktası programları tek bir grafik aşaması olarak çevrilir. Dışa aktarma programı kendi kullanıcı verisi penceresini korur.
Nasıl çalışırAçık mip biçimleri dahil IMAGE_LOAD_BY2, BY4, PCK2 ve PCK4, ölçülen yerel 2B formatlar için yürütülür. Bir BY yüklemesi ardışık texel'ler döndürür. Bir PCK yüklemesi onların ham bitlerini tek bir yazmaca paketler.
Nasıl çalışırYatay toplamalar
KısmiIMAGE_GATHER4H ve IMAGE_GATHER4H_PCK, yatay bir texel grubu boyunca tek bir kanalı toplar. Ölçülen doğrudan 1B ve 2B alt küme 1.242 GPU dispatch'iyle kapsanır.
Nasıl çalışırS_SWAPPC_B64 ve S_CALL_B64 tam bir dönüş adresi kaydeder ve ENDPGM'den sonra duran bir çağrılan dahil sınırlı bir yerel alt yordam çalıştırır. Doğrulanmış bir AGC getirme shader'ı da aynı şekilde bağlanabilir.
Nasıl çalışırVulkan işleyicisi
ÇalışıyorVulkan arka ucu sürücüyü çalışma zamanında yükler, Vulkan 1.2 gerektirir ve misafir karelerini bir swapchain üzerinden gösterir. İşleme hedefleri, depolama görüntüleri ve pipeline'lar çizimler arasında bellekte kalır.
Nasıl çalışırDirect3D 12 arka ucu
Kısmi0.3.5 sonrasında eklenen deneysel, yerel bir Windows işleyicisi. PM4 kod çözücüsünü ve RDNA2 shader çevirisini Vulkan ile paylaşır, ardından D3D12 ve DXGI üzerinden yürütür ve görüntüler. Varsayılan Vulkan olmaya devam ediyor ve oyunlar henüz bu yoldan çalışmıyor.
Nasıl çalışırMSAA
KısmiEşleşen 2×, 4× ve 8× renk ve derinlik örnek sayıları, sonraki bir çözümlemeye kadar ana sistem görüntüsünde kalır. Asterix bu yolu MSAA derinlik ve stencil için kullanır; bu da büyük, kazara bir geri okumayı kaldırdı.
Nasıl çalışırHTILE, DCC, CMASK ve FMASK konsolun sıkıştırılmış derinlik ve renk meta verileridir. PS5PCEM işaretçileri izler, anladığı durumlarda HTILE'ı temizler ve aksi hâlde yanlış detile edeceği bir düzeni reddeder.
Nasıl çalışırDoku detile işlemi
KısmiPS5 dokuları doğrusal satırlarda değil, GFX10 swizzle desenlerinde saklanır. PS5PCEM adres denklemlerini CPU'da ve uygun büyük 4, 8 ve 16 baytlık yüzeyler için GPU'da uygular.
Nasıl çalışırGPU sayfa izleyicisi
Kısmiİsteğe bağlı sayfa izleyici 16 KiB'lık misafir sayfalarını izler. İlk yerel CPU yazımı hata verir, bir nesil ilerletir ve GPU kopyasını geçersiz kılar; böylece değişmemiş sayfalar her karede özetlenip yüklenmez.
Nasıl çalışırVideoOut
ÇalışıyorVideoOut misafirin ekran arabelleklerini kaydeder ve bir kare değişimini ancak sunum geri çağırması kareyi kabul ettikten sonra tamamlar. Ana sistem penceresi 1080p SDR'de bir Vulkan swapchain'idir.
Nasıl çalışırSes ve video
AudioOut
ÇalışıyorAudioOut misafir PCM'ini bir Windows aygıtında 48 kHz'de çalar. Eski portların kendi akışları ve kuyrukları vardır; böylece müzik ve efektler birlikte çalışır ve bir alt akış örnek sırasını korur.
Nasıl çalışırACM evrişimi
KısmiACM evrişimi FMOD'un bölümlenmiş yankısını CPU'da çalıştırır. Ortak girdili gruplar tek bir kuru sinyali dönüştürür, kayan nokta veya yarım kayan nokta dürtü bölümlerini uygular ve ıslak sonucu örtüştür-topla yöntemiyle birleştirir.
Nasıl çalışırAJM kodekleri
KısmiAJM; ATRAC9, MP3, MPEG-4 AAC ve Opus'un kodunu çözer. Her kodek örneği kendi durumunu tutar ve bilinmeyen bir kodek sessiz bir başarı olarak bildirilmek yerine reddedilir.
Nasıl çalışırNGS2
KısmiNGS2 sistem, rack ve ses tanıtıcılarını tutar, sıradan RIFF/WAVE verisini ayrıştırır ve bir yazılım DSP çalışanı boşa dönmesin diye sessiz bir 48 kHz tanesinin hızını ayarlar. Ses sentezinin kendisi eksik.
Nasıl çalışırAvPlayer
ÇalışıyorSceAvPlayer, video kapsayıcılarını FFmpeg ile oyuna ait NV12 karelere ve 48 kHz stereo PCM'e çözer. Oyun akışlardan birini hiç okumasa bile kaynak süresi geçtiğinde oynatma biter.
Nasıl çalışırCPU, yükleyici ve araçlar
Yerel misafir yürütme
ÇalışıyorWindows x86-64'te misafirin makine kodu doğrudan çalışır. Her misafir pthread'ini bir ana sistem çalışanı taşır ve Windows FS tabanını korumadığı için her engelleyen çağrıdan sonra geri yüklenir.
Nasıl çalışırELF ve SELF yükleme
ÇalışıyorYükleyici şifresi çözülmüş PS5 SELF ve çıplak ELF64 modüllerini eşler, yer değiştirmeleri uygular ve içe aktarmaları HLE kaydına göre çözer. Oyun ardından kendisi başlattığı modüller için kararlı tanıtıcılar alır.
Nasıl çalışırKumandalar ve klavye
ÇalışıyorDualSense, DualSense Edge ve DualShock 4, USB ve Bluetooth üzerinden HID ile okunur. Xbox uyumlu kumandalar XInput kullanır. Klavye bir başlatıcı profiliyle çubuklara eşlenir.
Nasıl çalışırPKG çıkarıcı
Kısmipkgextractor geliştirmede gözlemlenen hata ayıklama FPKG düzenlerini açar: dış paket, iç PFS, NAPS ad eşlemeleri ve Kraken ile sıkıştırılmış veriler. Şifreli perakende paketler kapsam dışıdır.
Nasıl çalışırBu sayfalar nedir