Z88DK عبارة عن مجموعة من أدوات تطوير البرامج التي تستهدف عائلة الأجهزة 8080 وz80. يسمح بتطوير البرامج بلغة C أو لغة التجميع أو أي مزيج من الاثنين. ما يجعل z88dk فريدًا هو سهولة استخدامه ودعمه المدمج للعديد من أجهزة z80 ومجموعته الواسعة من الإجراءات الفرعية لمكتبة لغة التجميع التي تنفذ معيار C وملحقاته.
هناك عدة طرق لتثبيت z88dk.
git clone --recursive https://github.com/z88dk/z88dk.git
. لإضافة الوحدات الفرعية إلى نسخة موجودة بالفعل، استخدم git submodule update --init --recursive
. للبناء، ينبغي اتباع التعليمات التالية. الواجهة الأمامية لـ z88dk تسمى zcc
، وهذا هو ما يجب عليك الاتصال به إذا كنت تريد القيام بأي تجميعات. يمكنه معالجة ملفات C (.c) أو ملفات C المعالجة مسبقًا (.i) أو ملفات C المجمعة (.asm) أو الملفات المجمعة المحسنة (.opt) أو الملفات المجمعة (.o)، ويمكن خلط أي مجموعة منها معًا و وسيتم إجراء العمليات ذات الصلة عليها. يتم أيضًا دعم معالجة قائمة الملفات، حيث تتم معالجة كل ملف على حدة (أي المعالجة المسبقة، والتجميع، والتحسين، والتجميع)، وفي النهاية يمكن ربط جميع الملفات التي تمت معالجتها في ملف واحد قابل للتنفيذ منسق بشكل صحيح إذا رغبت في ذلك.
ليس من الضروري عادةً أن يحتاج المستخدم الجديد (أو النظام الأساسي) إلى استخدام الأدوات الأخرى بشكل فردي.
تحتوي العديد من الأدوات على بادئة z88dk-
لتمييزها عن الأدوات الموجودة في الحزم الأخرى التي قد يتم تثبيتها بنفس الاسم. تحذف الوثائق عمومًا البادئة عند الإشارة إليها.
zcc
هي الواجهة الأمامية لسلسلة الأدوات. يمكن لـ zcc إنشاء إخراج ثنائي من أي مجموعة من ملفات مصدر الإدخال.z88dk-sccz80
هو مترجم c الأصلي لـ z88dk. Sccz80 مشتق من c الصغير ولكنه شهد الكثير من التطوير لدرجة أنه أصبح متوافقًا تقريبًا مع c90.z88dk-zsdcc
هو تخصيص z88dk لمترجم sdcc. يجعل التصحيح الخاص بنا sdcc متوافقًا مع سلسلة أدوات z88dk، ويمنحه إمكانية الوصول إلى مكتبات لغة التجميع الشاملة لـ z88dk وصناديق crt الجاهزة، ويعالج أخطاء إنشاء التعليمات البرمجية حيثما تكون موجودة ويحسن التعليمات البرمجية التي تم إنشاؤها بواسطة sdcc.z88dk-z80asm
(يجب عدم الخلط بينه وبين العديد من المشاريع الخارجية التي تسمى z80asm) عبارة عن أقسام تنفيذ مجمعة/رابط/أمين مكتبة كاملة الميزات.z88dk-z80nm
هو أرشيفي مصاحب لـ z80asm. يمكنه توفير قائمة بالوظائف أو البيانات المشفرة في كائن أو ملف مكتبة.z88dk-appmake
بمعالجة الثنائيات الأولية التي تم إنشاؤها بواسطة مجموعة الأدوات في نموذج مناسب لأجهزة مستهدفة محددة. على سبيل المثال، يمكنه إنشاء ملفات إنتل السداسية والأشرطة والأقراص المدمجة وما إلى ذلك.z88dk-ticks
هو محاكي سطر أوامر يمكن استخدامه لتحديد سرعة تنفيذ أجزاء التعليمات البرمجية. القراد يتضمن مصحح الأخطاء ومفكك.z88dk-gdb
واجهة مصحح الأخطاء من علامات التجزئة ويتصل بخادم gdbserver للسماح بتصحيح أخطاء البرامج سطرًا تلو الآخر في المحاكيات أو على الأجهزة الحقيقية.z88dk-dis
عبارة عن أداة تفكيك لسطر الأوامر لـ 8080 و8085 وGBZ80 وZ80 وZ180 وZ80N وEZ80 وR800 وRabbit 2000/3000. يمكنه أيضًا قراءة ملفات الخرائط التي تم إنشاؤها بواسطة z80asm لتوفير مخرجات أكثر رمزية.z88dk-lib
هو برنامج تثبيت لمكتبات الطرف الثالث. وهو يدير التثبيت والإزالة وإدراج المكتبات المتاحة.z88dk-zx0
و z88dk-zx7
عبارة عن أدوات لضغط البيانات من جانب الكمبيوتر الشخصي مع وظائف إلغاء الضغط المصاحبة في مكتبة z80.z88dk-dzx0
و z88dk-dzx7
هما نظيران لأداة إلغاء الضغط من جانب الكمبيوتر الشخصي لـ z88dk-zx0 وz88dk-zx7.لا يتم عادةً استدعاء هذه الأدوات بشكل مباشر من قبل المستخدم:
m4
كمعالج أولي للماكرو لـ z88dk ويمكنه اختياريًا معالجة الملفات قبل المعالج الأولي أو المجمّع c.z88dk-ucpp
هو المعالج المسبق للغة c الذي تم استدعاؤه لـ sccz80 وzsdcc.z88dk-zpragma
بواسطة سلسلة الأدوات لمعالجة البراغما المضمنة في مصدر c.z88dk-copt
هو محرك تعبير عادي يُستخدم كمُحسِّن ثقب الباب لـ sccz80 وكأداة ما بعد المعالجة لكل من sccz80 وzsdcc. مكتبات لغة التجميع التي توفرها z88dk تمنحها مزايا الأداء مقارنة بمترجمات z80 الأخرى. لمزيد من التفاصيل يرجى إلقاء نظرة على قسم المعايير في ويكي.
يمكن استخدام CMake لإنشاء مشاريع Z88DK (يتم توفير سلسلة أدوات). يرجى الرجوع إلى CMake ويكي.
بعض الأشياء التي يجب معرفتها:
عندما تقوم بتكوين خط ترجمة، يجب عليك أن تقرر أي مترجم ستستخدمه وأي مكتبة سي سترتبط بها. ستتخذ هذا القرار بناءً على الأهداف التي تريد تجميعها والميزات التي تحتاجها.
مكتبة C الكلاسيكية هي مكتبة C الرئيسية لـ z88dk وتحتوي على crts التي تسمح بإنشاء برامج لأكثر من 100 جهاز مختلف من عائلة z80. يتم تحديد مستوى الدعم لكل منها تاريخيًا حسب اهتمامات المستخدم. يبدأ التوثيق هنا ويمكن العثور على نماذج البرامج في z88dk/examples مع ظهور خطوط الترجمة غالبًا في الجزء العلوي من ملفات .c. بمرور الوقت، تم استبدال التطبيقات غير القياسية بتلك الموجودة في المكتبة الجديدة.
كانت مكتبة c الجديدة عبارة عن إعادة كتابة لـ z88dk تهدف إلى مجموعة فرعية كبيرة من التوافق مع C11. تم الآن دمج الجزء الأكبر من المكتبة القياسية في الكلاسيكية، إلا أنها لا تزال تدعم بعض الأهداف غير المدعومة بالكلاسيكية: hbios، وrc2014، وscz180، وyaz180 بالإضافة إلى بعض مكتبات الطرف الثالث المدمجة لبعض الأهداف المكررة: نظام sega الرئيسي، وzx Spectrum. ، والطيف zx التالي. بالإضافة إلى ذلك، يمكن استخدام الهدف الأساسي لـ z180 وz80 لتجميع البرامج لأي جهاز z80. يبدأ التوثيق هنا ويمكن العثور على نماذج البرامج في z88dk/libsrc/_DEVELOPMENT/EXAMPLES مع ظهور أسطر الترجمة غالبًا في الجزء العلوي من ملفات .c.
تتضمن الصفحة الرئيسية لـ Z88DK رابطًا للإصدارات الليلية حيث يمكنك الحصول على حزمة محدثة.
تعليمات التثبيت
الإبلاغ عن الأخطاء
مقدمة للتجميع باستخدام أمثلة مكتبة C الكلاسيكية في z88dk/examples
مقدمة للتجميع باستخدام أمثلة مكتبة C الجديدة في z88dk/libsrc/_DEVELOPMENT/EXAMPLES
باستخدام z88dk مع هدف rc2014، يغطي الأنواع الفرعية cpm وhbios وrc2014.
باستخدام z88dk مع zx، يغطي هدف zx، وبالتالي هدف zxn.