सामग्री पर जाएँ
PS5PCEM

इम्प्लीमेंटेशन

PS5PCEM कैसे काम करता है

हर पेज एक ऐसा तंत्र है जिसे एम्युलेटर सच में चलाता है: कंसोल क्या करता है, Zig कोड क्या करता है, और क्या अब भी बाक़ी है।

17 अक्टूबर 2026 तक के रिपॉज़िटरी नोट्स

फ़र्मवेयर और HLE

HLE वह तरीक़ा है जिससे PS5PCEM गेम द्वारा इम्पोर्ट की गई फ़र्मवेयर कॉल का जवाब देता है। हर संख्यात्मक NID होस्ट स्टैक पर चलने वाला Zig फ़ंक्शन बनता है, और Windows पर भी गेस्ट का System V कॉलिंग कन्वेंशन बना रहता है।

यह कैसे काम करता है

PS5PCEM में AMPR कंसोल के काउंटर और पूर्णता कमांड का प्रक्रिया-स्थानीय सॉफ़्टवेयर मॉडल है। एक सौ अट्ठाईस काउंटर सबमिशन के क्रम में लेखन, एटॉमिक फ़ील्ड अपडेट, जोड़ी रीड और मास्क वाली प्रतीक्षाएँ स्वीकार करते हैं।

यह कैसे काम करता है

APR गेम की किसी फ़ाइल को एक बार हल करता है और फिर बाद के कमांड बफ़र में एक प्रक्रिया-स्थानीय पहचानकर्ता ले जाता है। स्थगित AMPR रीड होस्ट डिस्क्रिप्टर को हमेशा पकड़े रखे बिना उसी केवल-पढ़ने योग्य /app0 फ़ाइल को दोबारा खोलते हैं।

यह कैसे काम करता है

गेस्ट पते असली होस्ट पते हैं। डायरेक्ट मेमोरी उस जगह में मैप किया गया एक विरल साझा भौतिक पूल है, और MemoryPool उसी आधार पर आरक्षण, कमिट और बैच ऑपरेशन जोड़ता है।

यह कैसे काम करता है

सेव डेटा

काम करता है

माउंट किया गया सेव स्लॉट लिखने योग्य /savedata0 बन जाता है। गेम सामान्य फ़ाइल API इस्तेमाल करता है, और अगला लॉन्च वही फ़ाइलें गेम द्वारा प्रकाशित प्रोडक्ट कोड के तहत पाता है।

यह कैसे काम करता है

libSceFont गेम द्वारा दिए गए TrueType और OpenType फ़ेस को FreeType से रास्टराइज़ करता है। सिस्टम-फ़ॉन्ट अनुरोध लैटिन, ग्रीक और सिरिलिक के लिए साथ आए Noto Sans विकल्प का इस्तेमाल करते हैं।

यह कैसे काम करता है

PNG एनकोडर पिच वाले RGBA या BGRA पिक्सेल से 8-बिट RGB या RGBA फ़ाइलें लिखता है। डिकोडर बिना-इंटरलेस ग्रेस्केल, पैलेट, RGB और RGBA इमेज को जाँचे गए गेस्ट बफ़र में पढ़ता है।

यह कैसे काम करता है

RTC कैलेंडर फ़ील्ड जाँचता है, Windows FILETIME बदलता है और टिक पर जाँचा हुआ अंकगणित करता है। गेस्ट को होस्ट के डेलाइट-सेविंग रूपांतरण के बिना एक सुसंगत घड़ी दिखती है।

यह कैसे काम करता है

Windows पर हर libSceFiber फ़ाइबर एक असली Windows फ़ाइबर है, इसलिए स्विच गेस्ट रजिस्टर और गेस्ट स्टैक बनाए रखता है। उपयोगकर्ता-स्तरीय थ्रेड उसी pthread पथ से शुरू होते हैं।

यह कैसे काम करता है

कर्नेल AIO API रीड का एक बैच स्वीकार करता है और एक पहचानकर्ता लौटाता है। PS5PCEM बैच सबमिशन के समय ही चलाता है, जिसकी इंटरफ़ेस अनुमति देता है, और गेम एक पूरा नतीजा लेता है।

यह कैसे काम करता है

ग्राफ़िक्स

PS5 गेम अपनी मेमोरी में GPU पैकेट बनाता है और बफ़र भेजता है। PS5PCEM उस PM4 स्ट्रीम को डिकोड करता है, रजिस्टर स्थिति रखता है, और ड्रॉ तथा डिस्पैच क्रम में चलाता है।

यह कैसे काम करता है

PlayStation 5 के शेडर RDNA2 मशीन कोड हैं। PS5PCEM GFX10 परिवार डिकोड करता है, कंट्रोल-फ़्लो ग्राफ़ बनाता है, और समर्थित ऑपरेशन को Vulkan के लिए SPIR-V 1.5 में बदलता है।

यह कैसे काम करता है

S_SETPC_B64 के साथ आगे बढ़ने वाले फ़ेच शेडर समेत मिलाए गए NGG वर्टेक्स प्रोग्राम एक ग्राफ़िक्स चरण के रूप में अनूदित होते हैं। एक्सपोर्ट प्रोग्राम अपनी यूज़र-डेटा विंडो रखता है।

यह कैसे काम करता है

स्पष्ट-मिप रूपों समेत IMAGE_LOAD_BY2, BY4, PCK2 और PCK4 मापे गए नेटिव 2D फ़ॉर्मैट के लिए चलते हैं। BY लोड लगातार टेक्सेल लौटाता है। PCK लोड उनके कच्चे बिट एक रजिस्टर में पैक करता है।

यह कैसे काम करता है

IMAGE_GATHER4H और IMAGE_GATHER4H_PCK टेक्सेल के एक क्षैतिज समूह से एक चैनल इकट्ठा करते हैं। मापा गया सीधा 1D और 2D उपसमुच्चय 1,242 GPU डिस्पैच से कवर है।

यह कैसे काम करता है

S_SWAPPC_B64 और S_CALL_B64 पूरा वापसी पता सहेजते हैं और ENDPGM के बाद स्थित कॉली समेत एक सीमित स्थानीय सबरूटीन चलाते हैं। सत्यापित AGC फ़ेच शेडर भी इसी तरह लिंक हो सकता है।

यह कैसे काम करता है

Vulkan रेंडरर

काम करता है

Vulkan बैकएंड रनटाइम पर ड्राइवर लोड करता है, Vulkan 1.2 माँगता है, और गेस्ट फ़्रेम एक स्वैपचेन से दिखाता है। रेंडर टारगेट, स्टोरेज इमेज और पाइपलाइन ड्रॉ के पार मेमोरी में बने रहते हैं।

यह कैसे काम करता है

0.3.5 के बाद जोड़ा गया एक प्रायोगिक नेटिव Windows रेंडरर। यह PM4 डिकोडर और RDNA2 शेडर अनुवाद Vulkan के साथ साझा करता है, फिर D3D12 और DXGI से निष्पादन और प्रदर्शन करता है। डिफ़ॉल्ट अब भी Vulkan है, और गेम अभी इस रास्ते से नहीं चलते।

यह कैसे काम करता है

MSAA

आंशिक

मेल खाते 2×, 4× और 8× कलर और डेप्थ सैंपल गिनती बाद के रिज़ॉल्व तक होस्ट इमेज पर रहती हैं। एस्टेरिक्स MSAA डेप्थ और स्टेंसिल के लिए यही पथ इस्तेमाल करता है, जिससे एक बड़ा अनजाना रीडबैक हट गया।

यह कैसे काम करता है

HTILE, DCC, CMASK और FMASK कंसोल के कम्प्रेस्ड डेप्थ और कलर मेटाडेटा हैं। PS5PCEM पॉइंटर ट्रैक करता है, समझे गए मामलों में HTILE क्लियर करता है, और उस लेआउट को अस्वीकार करता है जिसे वह वरना ग़लत डीटाइल कर देता।

यह कैसे काम करता है

PS5 टेक्सचर रैखिक पंक्तियों में नहीं, GFX10 स्विज़ल पैटर्न में रखे जाते हैं। PS5PCEM पता समीकरण CPU पर लागू करता है, और योग्य बड़ी 4, 8 और 16-बाइट सतहों के लिए GPU पर।

यह कैसे काम करता है

वैकल्पिक पेज ट्रैकर 16 KiB के गेस्ट पेज की निगरानी करता है। पहला नेटिव CPU लेखन फ़ॉल्ट करता है, एक पीढ़ी आगे बढ़ाता है, और GPU कॉपी अमान्य करता है, ताकि बिना बदले पेज हर फ़्रेम हैश और अपलोड न हों।

यह कैसे काम करता है

VideoOut

काम करता है

VideoOut गेस्ट के डिस्प्ले बफ़र पंजीकृत करता है और फ़्लिप तभी पूरा करता है जब प्रस्तुति कॉलबैक फ़्रेम स्वीकार कर ले। होस्ट विंडो 1080p SDR पर एक Vulkan स्वैपचेन है।

यह कैसे काम करता है

ऑडियो और वीडियो

AudioOut

काम करता है

AudioOut गेस्ट PCM को Windows डिवाइस पर 48 kHz पर चलाता है। पुराने पोर्ट की अपनी स्ट्रीम और क्यू हैं, इसलिए संगीत और इफ़ेक्ट साथ चलते हैं, और अंडररन में भी सैंपल का क्रम बना रहता है।

यह कैसे काम करता है

ACM कनवोल्यूशन FMOD के बँटे हुए रिवर्ब को CPU पर चलाता है। साझा-इनपुट बैच एक सूखे सिग्नल को बदलते हैं, फ़्लोट या हाफ़-फ़्लोट इम्पल्स भाग लागू करते हैं, और गीले नतीजे को ओवरलैप-ऐड करते हैं।

यह कैसे काम करता है

AJM कोडेक

आंशिक

AJM ATRAC9, MP3, MPEG-4 AAC और Opus डिकोड करता है। हर कोडेक इंस्टेंस अपनी स्थिति रखता है, और अज्ञात कोडेक मौन सफलता बताने के बजाय अस्वीकार होता है।

यह कैसे काम करता है

NGS2

आंशिक

NGS2 सिस्टम, रैक और वॉइस हैंडल रखता है, सामान्य RIFF/WAVE डेटा पार्स करता है, और एक मौन 48 kHz ग्रेन की गति नियंत्रित करता है ताकि सॉफ़्टवेयर-DSP वर्कर घूमता न रहे। वॉइस संश्लेषण ख़ुद अधूरा है।

यह कैसे काम करता है

AvPlayer

काम करता है

SceAvPlayer मूवी कंटेनर को FFmpeg से गेम के स्वामित्व वाले NV12 फ़्रेम और 48 kHz स्टीरियो PCM में डिकोड करता है। स्रोत की अवधि बीतते ही प्लेबैक ख़त्म हो जाता है, भले ही गेम कोई एक स्ट्रीम कभी न पढ़े।

यह कैसे काम करता है

CPU, लोडर और टूल

Windows x86-64 पर गेस्ट का मशीन कोड सीधे चलता है। हर गेस्ट pthread को एक होस्ट वर्कर चलाता है, और हर अवरोधक कॉल के बाद FS बेस लौटाया जाता है क्योंकि Windows उसे नहीं रखता।

यह कैसे काम करता है

ELF और SELF लोडिंग

काम करता है

लोडर डिक्रिप्ट किए PS5 SELF और साधारण ELF64 मॉड्यूल मैप करता है, रीलोकेशन लागू करता है, और इम्पोर्ट को HLE रजिस्ट्री से हल करता है। फिर गेम ख़ुद शुरू किए मॉड्यूल के लिए स्थिर हैंडल पाता है।

यह कैसे काम करता है

pkgextractor डेवलपमेंट में देखे गए डीबग FPKG लेआउट खोलता है: बाहरी पैकेज, आंतरिक PFS, NAPS नाम मैप और Kraken-कम्प्रेस्ड डेटा। एन्क्रिप्टेड रिटेल पैकेज दायरे से बाहर हैं।

यह कैसे काम करता है

ये पेज क्या हैं

पाठ PS5PCEM रिपॉज़िटरी के आर्किटेक्चर नोट्स और अक्टूबर 2026 की रिपोर्टों पर आधारित है। किसी केंद्रित टेस्ट का पास होना नई फ़्रेम दर या गेम का नया समापन नहीं है।