الدليل الشامل والمرجع الكامل لأداة chdman
تُعد أداة chdman (مدير ملفات Compressed Hunks of Data) الأداة الأقوى لإنشاء، تحويل، فحص سلامة، واستخراج البيانات من صور الوسائط بصيغة CHD. في هذا المقال التفصيلي، سنستعرض كل ما يخص هذه الأداة من أوامر، خيارات، خوارزميات ضغط، بالإضافة إلى شرح عملي لطريقة ومتى نستخدمها.
الاستخدام الأساسي للأداة يكون بالصيغة التالية: chdman <command> <option>...
كيف تحصل على الأداة وتجهزها للعمل؟ (للمبتدئين)
قد يتساءل البعض من أين نحصل على أداة chdman؟ الحقيقة أنها لا تأتي كبرنامج مستقل ذو واجهة رسومية، بل هي أداة مدمجة ضمن مشروع محاكي MAME الشهير. لكي تستخدمها، اتبع الخطوات التالية:
- قم بتحميل النسخة الرسمية من محاكي MAME من الموقع الرسمي.
- قم بفك ضغط الملف الذي قمت بتحميله في مجلد جديد على جهازك.
- ابحث داخل هذا المجلد عن ملف تطبيقي باسم
chdman.exe. هذا هو الملف الذي سنستخدمه. - للسهولة، قم بنسخ هذا الملف (chdman.exe) وضعه داخل المجلد الذي يحتوي على ألعابك المراد ضغطها (ملفات bin و cue).
cmd في شريط مسار المجلد (Address Bar) بالأعلى واضغط Enter. ستفتح لك الشاشة السوداء جاهزة لتلقي الأوامر!متى ولماذا نستخدم أداة chdman؟
استخدام هذه الأداة يوفر لك حلولاً سحرية في الحالات التالية:
- تقليص مساحة الألعاب: ضغط ألعاب الأقراص (PS1, PS2, Saturn, Dreamcast) بنسبة تصل إلى 50% دون فقدان الجودة (Lossless).
- دمج الملفات المتعددة: تحويل الألعاب التي تتكون من عشرات ملفات
.BINومسارات صوتية إلى ملف واحد فقط.CHDلتسهيل ترتيبها. - دعم المحاكيات: معظم المحاكيات القوية (مثل DuckStation, PCSX2) تدعم تشغيل ملفات CHD مباشرة.
- حفظ الأقراص الصلبة القديمة: أخذ نسخ احتياطية مضغوطة من الأقراص الصلبة (Hard Disks) لأجهزة الأركيد والحواسيب القديمة لحمايتها من التلف.
أمثلة عملية للاستخدام (عبر موجّه الأوامر CMD):
لتحويل لعبة CD من صيغة BIN/CUE إلى CHD:
لفك ضغط لعبة CHD وإعادتها لأصلها:
حيلة للمحترفين: تحويل مكتبة ألعاب كاملة دفعة واحدة (Batch)
إذا كان لديك مجلد يحتوي على 50 أو 100 لعبة (كل لعبة تتكون من ملف Cue وعدة ملفات Bin)، فمن المرهق كتابة الأمر لكل لعبة على حدة! يمكنك استخدام "سكربت" يقوم بتحويل كل الألعاب تلقائياً.
كل ما عليك فعله هو فتح ملف نصي جديد (Notepad)، ولصق الكود التالي فيه، ثم حفظه باسم CUE_to_CHD.bat في نفس المجلد الذي يحتوي على الألعاب وأداة chdman.exe:
بمجرد النقر المزدوج على هذا الملف (السكربت)، سيقوم بالبحث عن كل ملفات CUE ويحولها تلقائياً واحداً تلو الآخر لتصبح ملفات CHD نظيفة ومضغوطة.
الخيارات الشائعة (Common Options)
تعتمد الخيارات المتاحة على الأمر المستخدم، ولكن الخيارات التالية تُستخدم في معظم الأوامر:
--input <file> / -i <file>: تحديد ملف الإدخال (مطلوب لمعظم الأوامر).--inputparent <chdfile> / -ip <chdfile>: تحديد ملف CHD الأب لملف الإدخال (يُستخدم مع ملفات delta CHD التي تخزن الفروقات فقط).--inputstartbyte <offset> / -isb <offset>: تحديد نقطة البداية (الإزاحة) للبيانات بالبايت. مفيد لتجاوز ترويسة الملف (Header). (لا يُستخدم مع-ish).--inputstarthunk <offset> / -ish <offset>: تحديد نقطة البداية للبيانات بوحدة الـ hunks. (لا يُستخدم مع-isb).--inputbytes <length> / -ib <length>: تحديد كمية البيانات المدخلة المراد استخدامها بالبايت. (لا يُستخدم مع-ih).--inputhunks <length> / -ih <length>: تحديد كمية البيانات المدخلة المراد استخدامها بالـ hunks. (لا يُستخدم مع-ib).--output <file> / -o <file>: تحديد اسم ملف الإخراج (مطلوب للأوامر التي تُنتج ملفات).--outputparent <chdfile> / -op <chdfile>: تحديد ملف CHD الأب لملف الإخراج لإنتاج ملف (delta CHD).--compression none|<type>[,<type>]... / -c: لتحديد خوارزميات الضغط. ضعnoneللإلغاء، أو حدد حتى 4 خوارزميات مفصولة بفاصلة. (يجب إلغاء الضغط لإنشاء صور وسائط قابلة للكتابة).--hunksize <bytes> / -hs <bytes>: تحديد حجم الـ hunk بالبايت. يجب أن يكون بين 16 بايت و 1048576 بايت (1 MiB)، ومن مضاعفات حجم القطاع. الأحجام الأكبر تعطي ضغطاً أفضل ولكنها تقلل الأداء في القراءات العشوائية الصغيرة.--force / -f: الكتابة فوق ملفات الإخراج إذا كانت موجودة مسبقاً.--verbose / -v: تفعيل المخرجات التفصيلية وطباعة معلومات دقيقة.--numprocessors <count> / -np <count>: لتحديد الحد الأقصى لمسارات المعالج (Threads) المستخدمة في ضغط البيانات.
الأوامر الكاملة (Commands) وتفاصيلها
1. أوامر المعلومات والفحص:
- info: عرض معلومات عن الملف (إصدار، خوارزميات، حجم، عدد hunks، وبصمات SHA1). الخيارات المدعومة:
-i(مطلوب)،-v. - verify: للتحقق من سلامة ملف CHD للقراءة فقط. الخيارات:
-i(مطلوب)،-ip، وخيار إضافي--fix / -fلإصلاح الملف.
2. أوامر الإنشاء (Create Commands):
- createraw: إنشاء CHD من صورة وسائط خام. يدعم كل الخيارات الشائعة للإنشاء. خيار إضافي:
--unitsize / -us(مطلوب): حجم الوحدة بالبايت. الافتراضيات: إذا لم يتم تحديد-hsفسيكون الأقرب لمضاعفات حجم الوحدة تحت 4 KiB، وإذا لم يُحدد-cسيكونlzma,zlib,huff,flac. - createhd: إنشاء صورة قرص صلب (Hard Disk). يدعم الخيارات الشائعة. خيارات إضافية:
--sectorsize / -ss،--size / -s،--chs، و--template / -tp. إذا لم يُرفق ملف إدخال، فسيصنع قرصاً فارغاً (zero-filled). الافتراضيات مشابهة لـ createraw. - createcd: إنشاء صورة قرص مدمج CD-ROM. الخيارات المطلوبة (
-i,-o). الافتراضيات: حجم الـ hunk هو 8 قطاعات (18,816 بايت)، وخوارزميات الضغط هيcdlz,cdzl,cdfl. - createdvd: إنشاء صورة DVD-ROM. الخيارات المطلوبة (
-i,-o). الافتراضيات: حجم الـ hunk هو قطاعين (4096 بايت)، والضغطlzma,zlib,huff,flac. - createld: إنشاء صورة LaserDisc. الخيارات المطلوبة (
-i,-o). يدعم خيارات إضافية:--inputstartframe / -isfو--inputframes / -if. الضغط الافتراضيavhu.
3. أوامر الاستخراج (Extract Commands):
- extractraw / extracthd / extractdvd: لاستخراج البيانات الخام، بيانات الأقراص الصلبة، وبيانات الـ DVD. تدعم تحديد المدخل والمخرج ونقاط البداية
-isb,-ishوكمية البيانات-ib,-ihو-f. - extractcd: استخراج بيانات CD-ROM. تدعم (
-i,-ip,-o,-f). خيارات إضافية:--outputbin / -obو--splitbin / -sb. - extractld: استخراج بيانات LaserDisc. تدعم خيارات الاستخراج العامة بالإضافة لـ
-isfو-ifلتحديد الإطارات.
4. أوامر البيانات الوصفية (Metadata Commands):
- addmeta: لإضافة عنصر بيانات وصفية لملف (يُعدل الملف). الخيارات:
-i، و--tag / -t(مطلوب)،--index / -ix،--valuetext / -vt،--valuefile / -vf،--nochecksum / -nocs. - delmeta: لحذف عنصر بيانات وصفية. الخيارات:
-i(مطلوب)،-t(مطلوب)،-ix. - dumpmeta: لاستخراج البيانات الوصفية وطباعتها أو حفظها في ملف. الخيارات:
-i(مطلوب)،-o،-f،-t(مطلوب)،-ix. - listtemplates: لعرض قوالب الأقراص الصلبة المتاحة. هذا الأمر لا يأخذ أي خيارات إضافية.
خوارزميات الضغط المدعومة (Compression Algorithms)
هذه هي القائمة الكاملة لجميع خوارزميات الضغط التي تدعمها الأداة وكيف تعمل:
| الرمز | اسم الخوارزمية والشرح التفصيلي |
|---|---|
zlib |
zlib deflate: تضغط البيانات باستخدام خوارزمية deflate القياسية. |
zstd |
Zstandard: خوارزمية تعطي أداءً ممتازاً جداً في سرعة الضغط وفك الضغط ونسب ضغط أفضل من zlib، ولكن قد لا تدعمها البرامج والمحاكيات القديمة. |
lzma |
Lempel-Ziv-Markov chain: تعطي نسب ضغط عالية جداً لتصغير الحجم، ولكن على حساب الأداء (بطيئة في الضغط وفك الضغط). |
huff |
Huffman coding: تضغط البيانات باستخدام ترميز إنتروبي هوفمان 8-بت. |
flac |
Free Lossless Audio Codec: مخصصة لضغط مسارات الصوت كقناتين (ستيريو) 16-bit 44.1 kHz PCM. تعطي نسبة ضغط ممتازة إذا كانت الوسائط تحتوي على صوتيات. |
cdzl |
zlib deflate for CD-ROM: تقوم بضغط بيانات الصوت وبيانات القنوات الفرعية (subchannel) لأقراص الـ CD بشكل منفصل باستخدام خوارزمية zlib. |
cdzs |
Zstandard for CD-ROM: مثل السابقة ولكن باستخدام خوارزمية Zstandard الأسرع. (نفس ملاحظة التوافقية للبرامج القديمة). |
cdlz |
LZMA / zlib for CD-ROM: تدمج بين خوارزميتين للـ CD: تستخدم LZMA القوية للصوت، و zlib للـ subchannel. ضغط عالي جداً ببطء في الأداء. |
cdfl |
FLAC / zlib for CD-ROM: تدمج بين FLAC لبيانات الصوت، و zlib لبيانات الـ subchannel. خيار مثالي لمسارات الأقراص المدمجة الصوتية. |
avhu |
Huffman coding for A/V: خوارزمية متخصصة فقط للبيانات السمعية والبصرية، ويجب استخدامها حصراً مع صور أقراص الـ LaserDisc. |
أخطاء شائعة وكيفية حلها (Troubleshooting)
إذا واجهتك رسائل خطأ باللون الأحمر أثناء عملية التحويل، فهذه أشهر الأسباب وحلولها:
- الخطأ: Cannot open file...: هذا يعني أن أداة chdman لا تستطيع العثور على ملفات اللعبة. تأكد أن أداة (chdman.exe) موجودة في نفس المجلد الذي يحتوي على ملفات اللعبة، وتأكد أنك كتبت اسم الملف بصيغة صحيحة داخل موجّه الأوامر.
- الخطأ: Error parsing CUE file: يحدث هذا عندما يكون ملف CUE تالفاً أو أن الأسماء بداخله لا تتطابق مع أسماء ملفات البن (BIN) الفعلية. الحل: افتح ملف الـ CUE ببرنامج "المفكرة" (Notepad) وتأكد أن السطر الأول
FILE "اسم اللعبة.bin"يطابق تماماً اسم ملف الـ BIN الموجود في المجلد لديك.

0 تعليقات