
CFW framework for PS Vita
taiHEN PS Vita™ के लिए एक CFW फ्रेमवर्क है। जब इसे कर्नेल एक्सप्लॉइट के साथ लोड किया जाता है, तो यह सिस्टम को पैच करने के लिए एक सामान्य सब्सट्रेट के रूप में कार्य करता है। taiHEN तीन मुख्य सुविधाएँ प्रदान करता है:
अंतिम बिंदु का अर्थ है कि डेवलपर्स कर्नेल, सिस्टम अनुप्रयोगों और गेम्स में समान रूप से कस्टम पैच जोड़ सकते हैं।
निर्माण के लिए, आपको कर्नेल समर्थन के साथ टूलचेन का नवीनतम संस्करण चाहिए। फिर बस CMake का उपयोग करके बिल्ड करें।
$ mkdir build && cd build
$ cmake ../
$ make
taiHEN को चलाने के लिए एक अलग कर्नेल एक्सप्लॉइट की आवश्यकता होती है। एक बार एक्सप्लॉइट taihen.skprx को कर्नेल में लोड कर देता है, taiHEN बाकी का ध्यान रखेगा। अधिक जानकारी के लिए कृपया एक्सप्लॉइट के दस्तावेज़ देखें।
प्लगइन्स या तो taiHEN लोड होने के बाद कर्नेल में लोड किए जाते हैं, या किसी अनुप्रयोग के लॉन्च होने पर मांग पर लोड किए जाते हैं। taiHEN ux0:tai/config.txt में कॉन्फ़िगरेशन फ़ाइल पढ़ता है।
लोड किए जाने वाले प्लगइन्स और लोड क्रम निर्धारित करने वाला कॉन्फ़िगरेशन ux0:tai/config.txt में पाया जा सकता है। यह प्रारूप बहुत सरल और स्व-व्याख्यात्मक है।
# ignored line starting with #
# Kernel plugins are started with taiHEN and are in this section
*KERNEL
ux0:app/MLCL00001/henkaku.skprx
ux0:path/to/another.skprx
ux0:tai/plugin3.skprx
ux0:data/tai/plugin4.skprx
ux0:data/tai/plugin5.skprx
# titleid for SceSettings
*NPXS10015
ux0:app/MLCL00001/henkaku.suprx
ux0:data/tai/some_settings_plugin.suprx
# titleid for Package Installer
*NPXS10031
ux0:path/to/some_pkg_installer_plgin.suprx
# titleid for SceShell is special (does not follow the XXXXYYYYY format)
*main
ux0:app/MLCL00001/henkaku.skprx
ux0:data/tai/shell_plgin.skprx
ध्यान देने योग्य मुख्य बातें:
# एक टिप्पणी शुरू करता है, * एक सेक्शन शुरू करता है, और कोई भी अन्य वर्ण एक पथ शुरू करता है।KERNEL एक विशेष सेक्शन नाम है जो taiHEN के प्रारंभ होने पर कर्नेल प्लगइन लोड करने का संकेत देता है। अन्य सभी सेक्शन नाम उस अनुप्रयोग/गेम का title id है जिसमें स्टार्टअप पर प्लगइन लोड किया जाना है। ध्यान दें कि SceShell का एक विशेष title id main है।ux0:tai या ux0:data/tai में रहें। एक प्लगइन का कई सेक्शनों में होना मान्य है, लेकिन डेवलपर को यह सुनिश्चित करना चाहिए कि यदि उसे अलग तरीके से काम करने की आवश्यकता है तो प्लगइन को पता हो कि वह किस अनुप्रयोग में लोड किया गया है।taiHEN कर्नेल और उपयोगकर्ता दोनों के लिए एक API इंटरफ़ेस निर्यात करता है। यह इंटरफ़ेस [प्रलेखन पृष्ठों](@ref taihen) में पाया जाता है। अधिक विवरण के लिए आपको उपयोग गाइड भी पढ़ना चाहिए। आप या तो रिलीज़ डाउनलोड कर सकते हैं या स्वयं taiHEN बिल्ड कर सकते हैं। उसके बाद, आप अपने प्रोजेक्ट में taihen.h शामिल कर सकते हैं और libtaihen_stub.a (उपयोगकर्ता मॉड्यूल के लिए) या libtaihen_kernel_stub.a (कर्नेल मॉड्यूल के लिए) के साथ लिंक कर सकते हैं।