الدليل الشامل والمرجع الكامل لأداة chdman


<header class="tech-header">
    <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoFuWpxXg9Xb-io1XAAXl0G2fmYq9aGns4t2GOyJBdvX4WiJMIguT-fe_ujYJ1RJW4U4uEl59Ky1bfLY6Wj-WU2DeUisooc1mCIpLeBEyriy1YlhOKEQn1V3ldm4h28uJeCaUg_v5ehek52uxJxqiKoTX8gpymTKCFV3kbQns2lcXTY7kHe7t8UsFrl8o/s998/%D9%84%D9%82%D8%B7%D8%A9%20%D8%B4%D8%A7%D8%B4%D8%A9%202026-05-07%20194311.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="499" data-original-width="998" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoFuWpxXg9Xb-io1XAAXl0G2fmYq9aGns4t2GOyJBdvX4WiJMIguT-fe_ujYJ1RJW4U4uEl59Ky1bfLY6Wj-WU2DeUisooc1mCIpLeBEyriy1YlhOKEQn1V3ldm4h28uJeCaUg_v5ehek52uxJxqiKoTX8gpymTKCFV3kbQns2lcXTY7kHe7t8UsFrl8o/s16000/%D9%84%D9%82%D8%B7%D8%A9%20%D8%B4%D8%A7%D8%B4%D8%A9%202026-05-07%20194311.png" /></a></div>
    <h2 data-darkreader-inline-color="" style="--darkreader-inline-color: var(--darkreader-text--xe-blue, var(--darkreader-text-000000, #d8d7d5)); color: var(--xe-blue); text-align: center;">الدليل الشامل والمرجع الكامل لأداة chdman</h2>
    <p>تُعد أداة <b>chdman</b> (مدير ملفات Compressed Hunks of Data) الأداة الأقوى لإنشاء، تحويل، فحص سلامة، واستخراج البيانات من صور الوسائط بصيغة CHD. في هذا المقال التفصيلي، سنستعرض كل ما يخص هذه الأداة من أوامر، خيارات، خوارزميات ضغط، بالإضافة إلى شرح عملي لطريقة ومتى نستخدمها.</p>
    <p>الاستخدام الأساسي للأداة يكون بالصيغة التالية: <br /><code style="font-size: 16px;">chdman &lt;command&gt; &lt;option&gt;...</code></p>
</header>

<section class="section-card">
    <h3 data-darkreader-inline-color="" style="--darkreader-inline-color: var(--darkreader-text--xe-gold, var(--darkreader-text-000000, #d8d7d5)); color: var(--xe-gold);">كيف تحصل على الأداة وتجهزها للعمل؟ (للمبتدئين)</h3>
    <p>قد يتساءل البعض من أين نحصل على أداة chdman؟ الحقيقة أنها لا تأتي كبرنامج مستقل ذو واجهة رسومية، بل هي أداة مدمجة ضمن مشروع محاكي <b>MAME</b> الشهير. لكي تستخدمها، اتبع الخطوات التالية:</p>
    <ul class="clean-list">
        <li>قم بتحميل النسخة الرسمية من محاكي MAME من الموقع الرسمي.</li>
        <li>قم بفك ضغط الملف الذي قمت بتحميله في مجلد جديد على جهازك.</li>
        <li>ابحث داخل هذا المجلد عن ملف تطبيقي باسم <code>chdman.exe</code>. هذا هو الملف الذي سنستخدمه.</li>
        <li>للسهولة، قم بنسخ هذا الملف (chdman.exe) وضعه داخل المجلد الذي يحتوي على ألعابك المراد ضغطها (ملفات bin و cue).</li>
    </ul>
    <div class="alert-box"><b>تلميح هام:</b> للبدء بكتابة الأوامر، اذهب إلى المجلد الذي يحتوي على الأداة والألعاب، واكتب <code>cmd</code> في شريط مسار المجلد (Address Bar) بالأعلى واضغط Enter. ستفتح لك الشاشة السوداء جاهزة لتلقي الأوامر!</div>
</section>

<section class="section-card">
    <h3 data-darkreader-inline-color="" style="--darkreader-inline-color: var(--darkreader-text--xe-gold, var(--darkreader-text-000000, #d8d7d5)); color: var(--xe-gold);">متى ولماذا نستخدم أداة chdman؟</h3>
    <p>استخدام هذه الأداة يوفر لك حلولاً سحرية في الحالات التالية:</p>
    <ul class="clean-list">
        <li><b>تقليص مساحة الألعاب:</b> ضغط ألعاب الأقراص (PS1, PS2, Saturn, Dreamcast) بنسبة تصل إلى 50% دون فقدان الجودة (Lossless).</li>
        <li><b>دمج الملفات المتعددة:</b> تحويل الألعاب التي تتكون من عشرات ملفات <code>.BIN</code> ومسارات صوتية إلى <b>ملف واحد فقط</b> <code>.CHD</code> لتسهيل ترتيبها.</li>
        <li><b>دعم المحاكيات:</b> معظم المحاكيات القوية (مثل DuckStation, PCSX2) تدعم تشغيل ملفات CHD مباشرة.</li>
        <li><b>حفظ الأقراص الصلبة القديمة:</b> أخذ نسخ احتياطية مضغوطة من الأقراص الصلبة (Hard Disks) لأجهزة الأركيد والحواسيب القديمة لحمايتها من التلف.</li>
    </ul>
    <p><b>أمثلة عملية للاستخدام (عبر موجّه الأوامر CMD):</b></p>
    <p>لتحويل لعبة CD من صيغة BIN/CUE إلى CHD:</p>
    <div class="code-block">chdman createcd -i "game.cue" -o "game.chd"</div>
    <p>لفك ضغط لعبة CHD وإعادتها لأصلها:</p>
    <div class="code-block">chdman extractcd -i "game.chd" -o "game.cue"</div>
</section>

<section class="section-card">
    <h3 data-darkreader-inline-color="" style="--darkreader-inline-color: var(--darkreader-text--xe-gold, var(--darkreader-text-000000, #d8d7d5)); color: var(--xe-gold);">حيلة للمحترفين: تحويل مكتبة ألعاب كاملة دفعة واحدة (Batch)</h3>
    <p>إذا كان لديك مجلد يحتوي على 50 أو 100 لعبة (كل لعبة تتكون من ملف Cue وعدة ملفات Bin)، فمن المرهق كتابة الأمر لكل لعبة على حدة! يمكنك استخدام "سكربت" يقوم بتحويل كل الألعاب تلقائياً.</p>
    <p>كل ما عليك فعله هو فتح ملف نصي جديد (Notepad)، ولصق الكود التالي فيه، ثم حفظه باسم <code>CUE_to_CHD.bat</code> في نفس المجلد الذي يحتوي على الألعاب وأداة chdman.exe:</p>
    <div class="code-block">for /r %%i in (*.cue) do chdman createcd -i "%%i" -o "%%~ni.chd"</div>
    <p>بمجرد النقر المزدوج على هذا الملف (السكربت)، سيقوم بالبحث عن كل ملفات CUE ويحولها تلقائياً واحداً تلو الآخر لتصبح ملفات CHD نظيفة ومضغوطة.</p>
</section>

<section class="section-card">
    <h3 data-darkreader-inline-color="" style="--darkreader-inline-color: var(--darkreader-text--xe-gold, var(--darkreader-text-000000, #d8d7d5)); color: var(--xe-gold);">الخيارات الشائعة (Common Options)</h3>
    <p>تعتمد الخيارات المتاحة على الأمر المستخدم، ولكن الخيارات التالية تُستخدم في معظم الأوامر:</p>
    <ul class="clean-list">
        <li><code>--input &lt;file&gt; / -i &lt;file&gt;</code>: تحديد ملف الإدخال (مطلوب لمعظم الأوامر).</li>
        <li><code>--inputparent &lt;chdfile&gt; / -ip &lt;chdfile&gt;</code>: تحديد ملف CHD الأب لملف الإدخال (يُستخدم مع ملفات delta CHD التي تخزن الفروقات فقط).</li>
        <li><code>--inputstartbyte &lt;offset&gt; / -isb &lt;offset&gt;</code>: تحديد نقطة البداية (الإزاحة) للبيانات بالبايت. مفيد لتجاوز ترويسة الملف (Header). (لا يُستخدم مع <code>-ish</code>).</li>
        <li><code>--inputstarthunk &lt;offset&gt; / -ish &lt;offset&gt;</code>: تحديد نقطة البداية للبيانات بوحدة الـ hunks. (لا يُستخدم مع <code>-isb</code>).</li>
        <li><code>--inputbytes &lt;length&gt; / -ib &lt;length&gt;</code>: تحديد كمية البيانات المدخلة المراد استخدامها بالبايت. (لا يُستخدم مع <code>-ih</code>).</li>
        <li><code>--inputhunks &lt;length&gt; / -ih &lt;length&gt;</code>: تحديد كمية البيانات المدخلة المراد استخدامها بالـ hunks. (لا يُستخدم مع <code>-ib</code>).</li>
        <li><code>--output &lt;file&gt; / -o &lt;file&gt;</code>: تحديد اسم ملف الإخراج (مطلوب للأوامر التي تُنتج ملفات).</li>
        <li><code>--outputparent &lt;chdfile&gt; / -op &lt;chdfile&gt;</code>: تحديد ملف CHD الأب لملف الإخراج لإنتاج ملف (delta CHD).</li>
        <li><code>--compression none|&lt;type&gt;[,&lt;type&gt;]... / -c</code>: لتحديد خوارزميات الضغط. ضع <code>none</code> للإلغاء، أو حدد حتى 4 خوارزميات مفصولة بفاصلة. (يجب إلغاء الضغط لإنشاء صور وسائط قابلة للكتابة).</li>
        <li><code>--hunksize &lt;bytes&gt; / -hs &lt;bytes&gt;</code>: تحديد حجم الـ hunk بالبايت. يجب أن يكون بين 16 بايت و 1048576 بايت (1 MiB)، ومن مضاعفات حجم القطاع. الأحجام الأكبر تعطي ضغطاً أفضل ولكنها تقلل الأداء في القراءات العشوائية الصغيرة.</li>
        <li><code>--force / -f</code>: الكتابة فوق ملفات الإخراج إذا كانت موجودة مسبقاً.</li>
        <li><code>--verbose / -v</code>: تفعيل المخرجات التفصيلية وطباعة معلومات دقيقة.</li>
        <li><code>--numprocessors &lt;count&gt; / -np &lt;count&gt;</code>: لتحديد الحد الأقصى لمسارات المعالج (Threads) المستخدمة في ضغط البيانات.</li>
    </ul>
</section>

<section class="section-card">
    <h3 data-darkreader-inline-color="" style="--darkreader-inline-color: var(--darkreader-text--xe-gold, var(--darkreader-text-000000, #d8d7d5)); color: var(--xe-gold);">الأوامر الكاملة (Commands) وتفاصيلها</h3>
    
    <p><b>1. أوامر المعلومات والفحص:</b></p>
    <ul class="clean-list">
        <li><b>info</b>: عرض معلومات عن الملف (إصدار، خوارزميات، حجم، عدد hunks، وبصمات SHA1). الخيارات المدعومة: <code>-i</code> (مطلوب)، <code>-v</code>.</li>
        <li><b>verify</b>: للتحقق من سلامة ملف CHD للقراءة فقط. الخيارات: <code>-i</code> (مطلوب)، <code>-ip</code>، وخيار إضافي <code>--fix / -f</code> لإصلاح الملف.</li>
    </ul>

    <p><b>2. أوامر الإنشاء (Create Commands):</b></p>
    <ul class="clean-list">
        <li><b>createraw</b>: إنشاء CHD من صورة وسائط خام. يدعم كل الخيارات الشائعة للإنشاء. <b>خيار إضافي:</b> <code>--unitsize / -us</code> (مطلوب): حجم الوحدة بالبايت. الافتراضيات: إذا لم يتم تحديد <code>-hs</code> فسيكون الأقرب لمضاعفات حجم الوحدة تحت 4 KiB، وإذا لم يُحدد <code>-c</code> سيكون <code>lzma,zlib,huff,flac</code>.</li>
        <li><b>createhd</b>: إنشاء صورة قرص صلب (Hard Disk). يدعم الخيارات الشائعة. <b>خيارات إضافية:</b> <code>--sectorsize / -ss</code>، <code>--size / -s</code>، <code>--chs</code>، و <code>--template / -tp</code>. إذا لم يُرفق ملف إدخال، فسيصنع قرصاً فارغاً (zero-filled). الافتراضيات مشابهة لـ createraw.</li>
        <li><b>createcd</b>: إنشاء صورة قرص مدمج CD-ROM. الخيارات المطلوبة (<code>-i</code>, <code>-o</code>). <b>الافتراضيات:</b> حجم الـ hunk هو 8 قطاعات (18,816 بايت)، وخوارزميات الضغط هي <code>cdlz,cdzl,cdfl</code>.</li>
        <li><b>createdvd</b>: إنشاء صورة DVD-ROM. الخيارات المطلوبة (<code>-i</code>, <code>-o</code>). <b>الافتراضيات:</b> حجم الـ hunk هو قطاعين (4096 بايت)، والضغط <code>lzma,zlib,huff,flac</code>.</li>
        <li><b>createld</b>: إنشاء صورة LaserDisc. الخيارات المطلوبة (<code>-i</code>, <code>-o</code>). يدعم خيارات إضافية: <code>--inputstartframe / -isf</code> و <code>--inputframes / -if</code>. الضغط الافتراضي <code>avhu</code>.</li>
    </ul>

    <p><b>3. أوامر الاستخراج (Extract Commands):</b></p>
    <ul class="clean-list">
        <li><b>extractraw / extracthd / extractdvd</b>: لاستخراج البيانات الخام، بيانات الأقراص الصلبة، وبيانات الـ DVD. تدعم تحديد المدخل والمخرج ونقاط البداية <code>-isb</code>, <code>-ish</code> وكمية البيانات <code>-ib</code>, <code>-ih</code> و <code>-f</code>.</li>
        <li><b>extractcd</b>: استخراج بيانات CD-ROM. تدعم (<code>-i</code>, <code>-ip</code>, <code>-o</code>, <code>-f</code>). <b>خيارات إضافية:</b> <code>--outputbin / -ob</code> و <code>--splitbin / -sb</code>.</li>
        <li><b>extractld</b>: استخراج بيانات LaserDisc. تدعم خيارات الاستخراج العامة بالإضافة لـ <code>-isf</code> و <code>-if</code> لتحديد الإطارات.</li>
    </ul>

    <p><b>4. أوامر البيانات الوصفية (Metadata Commands):</b></p>
    <ul class="clean-list">
        <li><b>addmeta</b>: لإضافة عنصر بيانات وصفية لملف (يُعدل الملف). الخيارات: <code>-i</code>، و <code>--tag / -t</code> (مطلوب)، <code>--index / -ix</code>، <code>--valuetext / -vt</code>، <code>--valuefile / -vf</code>، <code>--nochecksum / -nocs</code>.</li>
        <li><b>delmeta</b>: لحذف عنصر بيانات وصفية. الخيارات: <code>-i</code> (مطلوب)، <code>-t</code> (مطلوب)، <code>-ix</code>.</li>
        <li><b>dumpmeta</b>: لاستخراج البيانات الوصفية وطباعتها أو حفظها في ملف. الخيارات: <code>-i</code> (مطلوب)، <code>-o</code>، <code>-f</code>، <code>-t</code> (مطلوب)، <code>-ix</code>.</li>
        <li><b>listtemplates</b>: لعرض قوالب الأقراص الصلبة المتاحة. هذا الأمر لا يأخذ أي خيارات إضافية.</li>
    </ul>
</section>

<section class="section-card">
    <h3 data-darkreader-inline-color="" style="--darkreader-inline-color: var(--darkreader-text--xe-gold, var(--darkreader-text-000000, #d8d7d5)); color: var(--xe-gold);">خوارزميات الضغط المدعومة (Compression Algorithms)</h3>
    <p>هذه هي القائمة الكاملة لجميع خوارزميات الضغط التي تدعمها الأداة وكيف تعمل:</p>
    <div class="table-container">
        <table>
            <thead>
                <tr>
                    <th style="width: 15%;">الرمز</th>
                    <th>اسم الخوارزمية والشرح التفصيلي</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td><code>zlib</code></td>
                    <td><b>zlib deflate:</b> تضغط البيانات باستخدام خوارزمية deflate القياسية.</td>
                </tr>
                <tr>
                    <td><code>zstd</code></td>
                    <td><b>Zstandard:</b> خوارزمية تعطي أداءً ممتازاً جداً في سرعة الضغط وفك الضغط ونسب ضغط أفضل من zlib، ولكن قد لا تدعمها البرامج والمحاكيات القديمة.</td>
                </tr>
                <tr>
                    <td><code>lzma</code></td>
                    <td><b>Lempel-Ziv-Markov chain:</b> تعطي نسب ضغط عالية جداً لتصغير الحجم، ولكن على حساب الأداء (بطيئة في الضغط وفك الضغط).</td>
                </tr>
                <tr>
                    <td><code>huff</code></td>
                    <td><b>Huffman coding:</b> تضغط البيانات باستخدام ترميز إنتروبي هوفمان 8-بت.</td>
                </tr>
                <tr>
                    <td><code>flac</code></td>
                    <td><b>Free Lossless Audio Codec:</b> مخصصة لضغط مسارات الصوت كقناتين (ستيريو) 16-bit 44.1 kHz PCM. تعطي نسبة ضغط ممتازة إذا كانت الوسائط تحتوي على صوتيات.</td>
                </tr>
                <tr>
                    <td><code>cdzl</code></td>
                    <td><b>zlib deflate for CD-ROM:</b> تقوم بضغط بيانات الصوت وبيانات القنوات الفرعية (subchannel) لأقراص الـ CD بشكل منفصل باستخدام خوارزمية zlib.</td>
                </tr>
                <tr>
                    <td><code>cdzs</code></td>
                    <td><b>Zstandard for CD-ROM:</b> مثل السابقة ولكن باستخدام خوارزمية Zstandard الأسرع. (نفس ملاحظة التوافقية للبرامج القديمة).</td>
                </tr>
                <tr>
                    <td><code>cdlz</code></td>
                    <td><b>LZMA / zlib for CD-ROM:</b> تدمج بين خوارزميتين للـ CD: تستخدم LZMA القوية للصوت، و zlib للـ subchannel. ضغط عالي جداً ببطء في الأداء.</td>
                </tr>
                <tr>
                    <td><code>cdfl</code></td>
                    <td><b>FLAC / zlib for CD-ROM:</b> تدمج بين FLAC لبيانات الصوت، و zlib لبيانات الـ subchannel. خيار مثالي لمسارات الأقراص المدمجة الصوتية.</td>
                </tr>
                <tr>
                    <td><code>avhu</code></td>
                    <td><b>Huffman coding for A/V:</b> خوارزمية متخصصة فقط للبيانات السمعية والبصرية، ويجب استخدامها حصراً مع صور أقراص الـ LaserDisc.</td>
                </tr>
            </tbody>
        </table>
    </div>
</section>

<section class="section-card">
    <h3 data-darkreader-inline-color="" style="--darkreader-inline-color: var(--darkreader-text--xe-gold, var(--darkreader-text-000000, #d8d7d5)); color: var(--xe-gold);">أخطاء شائعة وكيفية حلها (Troubleshooting)</h3>
    <p>إذا واجهتك رسائل خطأ باللون الأحمر أثناء عملية التحويل، فهذه أشهر الأسباب وحلولها:</p>
    <ul class="clean-list">
        <li><b>الخطأ: Cannot open file...</b>: هذا يعني أن أداة chdman لا تستطيع العثور على ملفات اللعبة. تأكد أن أداة (chdman.exe) موجودة في نفس المجلد الذي يحتوي على ملفات اللعبة، وتأكد أنك كتبت اسم الملف بصيغة صحيحة داخل موجّه الأوامر.</li>
        <li><b>الخطأ: Error parsing CUE file</b>: يحدث هذا عندما يكون ملف CUE تالفاً أو أن الأسماء بداخله لا تتطابق مع أسماء ملفات البن (BIN) الفعلية. <b>الحل:</b> افتح ملف الـ CUE ببرنامج "المفكرة" (Notepad) وتأكد أن السطر الأول <code>FILE "اسم اللعبة.bin"</code> يطابق تماماً اسم ملف الـ BIN الموجود في المجلد لديك.</li>
    </ul>
</section>

<footer data-darkreader-inline-bgcolor="" data-darkreader-inline-bgimage="" style="--darkreader-inline-bgcolor: var(--darkreader-background-252525, #2b2d2d); --darkreader-inline-bgimage: initial; background: rgb(37, 37, 37); border-radius: 10px; padding: 15px; text-align: center;">
    <p style="margin: 0px;">هذا الدليل يغطي كل تفصيلة في وثائق أداة <b>chdman</b> الرسمية، نرجو أن يكون مرجعاً شاملاً لك في إدارة ملفات ألعابك ومحاكياتك. اترك تعليقاً إذا كان لديك أي استفسار أو واجهتك أي مشكلة!</p>
</footer>