ऐप्स और सॉफ्टवेयर

Windows x86-64 के लिए TotK PC रीकंपाइलेशन प्रोजेक्ट की आर्किटेक्चर

· GlobeWire Daily Editorial Desk · Source: github.com

3 मिनट में पढ़ें

मुख्य बातेंtotk-pc-recomp प्रोजेक्ट इस बात का दस्तावेजीकरण करता है कि कैसे निनटेंडो स्विच के The Legend of Zelda: Tears of the Kingdom बिल्ड को एक नेटिव विंडोज x86-64 प्रोग्राम में बदला जाता है। किसी एमुलेटर के माध्यम से चलने के बजाय, यह प्रोजेक्ट अपस्ट्रीम ओपन-सोर्स रिपॉजिटरी पर आधारित है—मुख्य रूप से LAS Recomp के CPU लिफ्टिंग घटकों को MacNativeGames के…
Architecture of the TotK PC Recompilation Project for Windows x86-64

चित्र: GitHub · चित्र स्रोत · Resized and letterboxed to 16:9; no AI generation

नेटिव विंडोज पोर्ट का अवलोकन

`totk-pc-recomp` प्रोजेक्ट इस बात का दस्तावेजीकरण करता है कि कैसे निनटेंडो स्विच के *The Legend of Zelda: Tears of the Kingdom* बिल्ड को एक नेटिव विंडोज x86-64 प्रोग्राम में बदला जाता है। किसी एमुलेटर के माध्यम से चलने के बजाय, यह प्रोजेक्ट अपस्ट्रीम ओपन-सोर्स रिपॉजिटरी पर आधारित है—मुख्य रूप से LAS Recomp के CPU लिफ्टिंग घटकों को MacNativeGames के गेम-हैंडलिंग घटकों के साथ जोड़ता है—साथ ही NVN ग्राफिक्स फ्रंट एंड के लिए Vulkan बैक एंड जैसे लापता कार्यों के लिए कस्टम कार्यान्वयन प्रदान करता है।

पूर्वापेक्षाएँ और बिल्ड आवश्यकताएँ

नेटिव प्रोग्राम को बनाने के लिए, उपयोगकर्ताओं को अपने कानूनी रूप से स्वामित्व वाले निनटेंडो स्विच कंसोल से विशिष्ट संपत्तियां प्रदान करनी होंगी:

  • बेस गेम संस्करण 1.0.0 (`0100F2C0115B6000`) और एक संचयी अपडेट (`0100F2C0115B6800`), जो NSP या XCI फाइलों के रूप में प्रदान किए जाते हैं।
  • डिक्रिप्शन और निष्कर्षण के लिए आवश्यक कंसोल कुंजियाँ।

बिल्ड पाइपलाइन MacNativeGames के पाइथन-आधारित एक्सट्रैक्टर का उपयोग करके ExeFS और RomFS डेटा निकालती है, BKTR पैच का उपयोग करने वाले `hactool` के कस्टम-निर्मित संस्करण के माध्यम से अपडेट को मर्ज करती है, और अपेक्षित हैश मैनिफेस्ट का उपयोग करके फ़ाइल अखंडता को सत्यापित करती है।

सीपीयू रीकंपाइलेशन और कोड जनरेशन

TotK पैमाने को संभालना

जबकि LAS Recomp एक हाथ से लिखा गया डिकोडर और NEON/FP कम करने वाली रूटीन प्रदान करता है, प्रोजेक्ट *Tears of the Kingdom* के पैमाने को संभालने के लिए इन घटकों को फिर से लिखता और विस्तारित करता है:

  • समानांतर प्रसंस्करण: कोड जनरेटर प्रत्येक कार्यकर्ता के लिए सीमित मेमोरी के साथ समानांतर प्रक्रियाओं में चलता है।
  • जंप टेबल्स: यूनिकॉर्न के बजाय आंतरिक प्रतीकात्मक पास के माध्यम से हल किए जाते हैं, जिससे शिप किए गए जनरेटर से GPL कोड बाहर रहता है।
  • आर्किटेक्चर समर्थन: 128-बिट अनन्य जोड़े (`LDXP`/`STXP`) का समर्थन करता है, `subsdk*` मॉड्यूल लोड करता है, और मुख्य मॉड्यूल पर 64 MB की सीमा को हटाता है।
  • रजिस्टर प्रबंधन: अक्सर उपयोग किए जाने वाले सामान्य रजिस्टर और `NZCV` फ्लैग वर्चुअल सीपीयू संरचना के बजाय सी लोकल वेरिएबल्स में रखे जाते हैं, जिससे प्रदर्शन का अनुकूलन होता है।

ग्राफिक्स और ऑडियो बैक एंड

Vulkan 1.3 एकीकरण

MacNativeGames के मेटल बैक एंड को बदलते हुए, प्रोजेक्ट विंडोज के लिए Vulkan 1.3 बैक एंड का उपयोग करता है:

  • मेमोरी पूल्स: `VK_EXT_external_memory_host` के माध्यम से होस्ट मेमोरी आयात करता है। असतत GPU पर, अपलोड को अनुकूलित करने के लिए सीपीयू राइट-वॉच के साथ मेमोरी पूल डिवाइस-लोकल मेमोरी में मिरर किए जाते हैं।
  • पाइपलाइन और शेडर्स: समर्थित होने पर तेज़ पाइपलाइन लिंकिंग के लिए `VK_EXT_graphics_pipeline_library` का उपयोग करके Ryujinx शेडर अनुवादक आउटपुट को SPIR-V में अनुवादित करता है।

प्लेयर इंस्टॉलेशन और सत्यापन

प्रोजेक्ट इंस्टॉलर बंडल किए गए `llvm-mingw` टूलचेन का उपयोग करके उपयोगकर्ता की मशीन पर स्थानीय रूप से गेम निष्पादन योग्य बनाता है, यह सुनिश्चित करता है कि कोई भी पूर्व-संकलित रीकंपाइल किया गया कोड वितरित न किया जाए। उपयोगकर्ता प्रोजेक्ट की आधिकारिक GitHub रिपॉजिटरी के माध्यम से मूल आर्किटेक्चर घोषणाओं और दस्तावेजों को सीधे सत्यापित कर सकते हैं।

यह खबर शेयर करें
मूल स्रोत पढ़ें: totk-pc-recomp/docs/architecture.md at main · valentderah/totk-pc-recomp - GitHub

AI की सहायता से तैयार रिपोर्ट; मूल स्रोत के दावों की स्वतंत्र पुष्टि नहीं की गई है।

लेखक के बारे में

GlobeWire Daily Editorial Desk — प्रकाशित स्रोतों पर आधारित AI-सहायता प्राप्त खबरें।

और पढ़ें