सीएसओ फाइल क्या है?
.cso एक्सटेंशन वाली फ़ाइल एक संपीड़ित ISO छवि फ़ाइल है। CSO DAX संपीड़न पद्धति का एक विकल्प है; सीआईएसओ के रूप में भी जाना जाता है; ISO फ़ाइलों को संपीड़ित करने का पहला तरीका था और आमतौर पर PlayStation पोर्टेबल सामग्री को संग्रहीत करने के लिए एक पसंदीदा तरीका है। यह प्रारूप डिफ्लेट संपीड़न का उपयोग करता है, जिसमें अधिकतम नौ संपीड़न परतें शामिल हो सकती हैं। छवियों को बनाने के लिए प्रोमेथियस और वाईएसीसी जैसे सॉफ्टवेयर का उपयोग किया जाता है।
सीएसओ फ़ाइल प्रारूप
अधिक मेमोरी स्पेस बचाने के लिए आईएसओ के लिए सीएसओ फ़ाइल प्रारूप पहली संपीड़न विधि थी। बेहतर संपीड़न के लिए समय-समय पर संवर्द्धन किए गए थे। CSO प्रीसेट के नौ स्तरों वाले डिफ्लेट कम्प्रेशन का उपयोग कर रहा है, आमतौर पर, प्रत्येक स्तर 2 KiB ब्लॉकों को अलग-अलग संभाल सकता है। जबकि संपीड़न का उच्चतम स्तर सॉफ़्टवेयर में धीमा और लंबा लोड-टाइम कर सकता है जो डिस्क स्ट्रीमिंग पर बहुत अधिक निर्भर करता है, साथ ही निचले स्तर पर्याप्त संपीड़न कर सकते हैं।
सीएसओ फ़ाइल संरचना
CSO फ़ाइल स्वरूप में 24-बाइट शीर्षलेख, डेटा ब्लॉक और एक अनुक्रमणिका तालिका होती है। लिटिल-एंडियन को बाइट से बड़े क्षेत्रों के लिए माना जाता है। PlayStation पोर्टेबल का आर्किटेक्चर एंडियननेस नीचे दिया गया है।
हैडर
ऑफसेट (बाइट्स) | नाम | आकार (बाइट्स) | उद्देश्य |
---|---|---|---|
0x0 | जादू | 4 | 32-बिट पूर्णांक के रूप में पढ़ने पर हमेशा CISO, या 0x4F534943। इस फ़ील्ड का उपयोग CSO फ़ाइल की पहचान करने के लिए किया जाता है। ध्यान दें कि यह क्षेत्र CSO के अन्य डेरिवेटिव के लिए भिन्न हो सकता है, उदाहरण के लिए, ZSO ने मैजिक कोड ZISO का उपयोग किया। |
0x4 | हैडर आकार | 4 | मूल CSO “v1” फ़ाइल स्वरूप के लिए, इस फ़ील्ड पर ध्यान नहीं दिया जाता है और इसलिए सटीक होने की आवश्यकता नहीं है। हालांकि, “v2” और ZSO प्रारूप के लिए यह फ़ील्ड हमेशा 0x18 (24 बाइट्स) होना चाहिए। |
0x8 | असम्पीडित आकार | 8 | मूल असम्पीडित आईएसओ का आकार बाइट्स में। |
0x10 | ब्लॉक आकार | 4 | संपीड़न से पहले बाइट्स में प्रत्येक डेटा ब्लॉक का आकार। आमतौर पर 2048 बाइट्स, प्रत्येक ISO 9660 सेक्टर के आकार के समान। |
0x14 | संस्करण | 1 | फ़ाइल स्वरूप का संस्करण उपयोग में है। “V1” प्रारूप के लिए, मान या तो 0 या 1 हो सकता है। “v2” प्रारूप के लिए, यह 2 होना चाहिए। इसके अतिरिक्त, ZSO प्रारूप के लिए यह 1 होना आवश्यक है। |
0x15 | सूचकांक संरेखण | 1 | बिट्स में निर्दिष्ट प्रत्येक अनुक्रमणिका प्रविष्टि का संरेखण। |
0x16 | आरक्षित | 2 | यह क्षेत्र अप्रयुक्त है। “V1” प्रारूप में, इस फ़ील्ड को अनदेखा कर दिया जाता है और इसमें मनमाना मान हो सकते हैं। “V2” प्रारूप में, यह फ़ील्ड शून्य होना चाहिए। |
इंडेक्स टेबल
अनुक्रमणिका तालिका में कई 4-बाइट प्रविष्टियाँ हैं, जो प्रत्येक डेटा ब्लॉक की स्थिति को इंगित करती हैं, और एक अतिरिक्त, अंतिम प्रविष्टि जो फ़ाइल के अंत की ओर इशारा करती है। प्रत्येक प्रविष्टि की सामग्री इस प्रकार है:
बिट | लंबाई | मुखौटा | नाम | उद्देश्य |
---|---|---|---|---|
0 | 31 | 0x7FFFFFFF | स्थिति | यह फ़ील्ड, जब हेडर में दिए गए इंडेक्स एलाइनमेंट द्वारा बाईं ओर स्थानांतरित किया जाता है, तो वह स्थिति देता है जहां डेटा ब्लॉक शुरू होता है। |
31 | 1 | 0x80000000 | संपीड़न प्रकार | ZSO प्रारूप में समान शब्दार्थ है, केवल 0 डिफ्लेट के बजाय LZ4 का प्रतिनिधित्व करता है। “V2” प्रारूप में। यदि ब्लॉक का आकार फ़ाइल हेडर में निर्दिष्ट ब्लॉक आकार के बराबर या उससे बड़ा है, तो ब्लॉक को असम्पीडित माना जाता है। |
डेटा ब्लॉक
डेटा ब्लॉक में असम्पीडित या संपीड़ित डेटा शामिल होता है। एक ब्लॉक के आकार की गणना उसकी स्थिति प्राप्त करके की जाती है, और फिर इसे निम्नलिखित ब्लॉक की स्थिति से घटाया जाता है। यदि सूचकांक संरेखण शून्य से अधिक है, तो यह संभावना है कि ब्लॉक का आकार उसके पास मौजूद डेटा से बड़ा हो।
संदर्भ
- N/A