- WARNING! -
This repository is a work in progress, and while it can be used to make certain changes, it's still
constantly evolving. If you use it for modding purposes in its current state, please be aware that
the codebase can drastically change at any time. Also note that some parts of the ROM may not be
'shiftable' yet, so modifying them could be difficult at this point.
هذا هو تفكيك WIP لـ The Legend of Zelda: Ocarina of Time . الغرض من المشروع هو إعادة إنشاء قاعدة التعليمات البرمجية المصدرية للعبة من الصفر، باستخدام المعلومات الموجودة داخل اللعبة جنبًا إلى جنب مع التحليل الثابت و/أو الديناميكي. لا يتم إنتاج منفذ للكمبيوتر الشخصي. لمزيد من المعلومات، يمكنك التواصل مع الفريق على خادم Discord الخاص بنا.
يقوم ببناء الإصدارات التالية:
اسم | بناء الطابع الزمني | وصف | تجزئة MD5 لذاكرة القراءة فقط (ROM) المدخلة |
---|---|---|---|
إن تي إس سي-1.0 | 98-10-21 04:56:31 | NTSC 1.0 (اليابان/الولايات المتحدة) | 9f04c8e68534b870f707c247fa4b50fc 5bd1fe107bf8106b2ab6650abecd54d6 |
إن تي إس سي-1.1 | 98-10-26 10:58:45 | NTSC 1.1 (اليابان/الولايات المتحدة) | 1bf5f42b98c3e97948f01155f12e2d88 721fdcc6f5f34be55c43a807f2a16af4 |
بال-1.0 | 98-11-10 14:34:22 | PAL 1.0 (أوروبا) | e040de91a74b61e3201db0e2323f768a |
إن تي إس سي-1.2 | 98-11-12 18:17:03 | NTSC 1.2 (اليابان/الولايات المتحدة) | 2258052847bdd056c8406a9ef6427f13 57a9719ad547c516342e1a15d5c28c3d |
بال-1.1 | 98-11-18 17:36:49 | PAL 1.1 (أوروبا) | d714580dd74c2c033f5e1b6dc0aeac77 |
gc-jp | 02-10-29 23:49:53 | لعبة كيوب اليابان | 33fb7852c180b18ea0b9620b630f413f |
جي سي-JP-MQ | 02-10-30 00:15:15 | جيم كيوب اليابان ماستر كويست | 69895c5c78442260f6eafb2506dc482a |
gc-us | 02-12-19 13:28:09 | لعبة المكعب الولايات المتحدة | cd09029edcfb7c097ac01986a0f83d3f |
جي سي-لنا-مق | 02-12-19 14:05:42 | جيم كيوب الولايات المتحدة ماستر كويست | da35577fe54579f6a266931cc75f512d |
gc-الاتحاد الأوروبي-mq-dbg | 03-02-21 00:16:31 | GameCube Europe/PAL Master Quest Debug | 75e344f41c26ec2ec5ad92caa9e25629 8ca71e87de4ce5e9f6ec916202a623e9 f751d1a097764e2337b1ac9ba1e27699 dde376d47187b931820d5b2957cded14 |
gc-eu | 03-02-21 20:12:23 | جيم كيوب أوروبا/بال | 2c27b4e000e85fd78dbca551f1b1c965 |
جي سي-الاتحاد الأوروبي-مق | 03-02-21 20:37:19 | جيم كيوب أوروبا/PAL ماستر كويست | 1618403427e4344a57833043db5ce3c3 |
جي سي-جب-ce | 03-10-08 21:53:00 | GameCube Japan (قرص إصدار المجمع) | 0c13e0449a28ea5b925cdb8af8d29768 |
الإصدار الافتراضي هو gc-eu-mq-dbg
، أي ذاكرة القراءة فقط (ROM) الخاصة بـ GameCube Europe/PAL Master Quest Debug.
ملاحظة: لا يتضمن هذا المستودع أيًا من الأصول اللازمة لبناء ROM. مطلوب نسخة مسبقة من اللعبة لاستخراج الأصول المطلوبة.
موقع الكتروني: https://zelda.deco.mp
الخلاف: https://discord.zelda.deco.mp
نوصي باستخدام WSL على نظام التشغيل Windows، أو Linux الأصلي، والذي يصفه بقية هذا الملف التمهيدي. لدينا حاليا تعليمات ل
(ستعتمد هذه أيضًا على تعليمات Linux.) قد يكون بعضها أيضًا قديمًا أو لم تتم صيانته؛ عادةً ما يستخدم المساهمون لدينا WSL وLinux وmacOS، لذا يجب أن تكون هذه التعليمات محدثة.
بالنسبة لنظام التشغيل Windows 10 أو 11، قم بتثبيت WSL والتوزيع باتباع دليل تثبيت WSL هذا. نوصي باستخدام Ubuntu 20.04 كتوزيعة Linux.
بالنسبة للإصدارات الأقدم من Windows، قم بتثبيت Linux VM أو راجع تعليمات Docker.
تحتوي عملية الإنشاء على متطلبات الحزمة التالية:
ضمن Debian / Ubuntu (الذي نوصي باستخدامه)، يمكنك تثبيتها باستخدام الأوامر التالية:
sudo apt-get update
sudo apt-get install git build-essential binutils-mips-linux-gnu python3 python3-pip python3-venv libpng-dev libxml2-dev
إذا كنت تستخدم مجلس التعاون الخليجي كمترجم لـ Ocarina of Time، فستحتاج أيضًا إلى:
ملاحظة: إذا كنت تستخدم WSL، فإننا نشجعك بشدة على الاستنساخ في نظام ملفات Linux الخاص بـ WSL باستخدام git
الخاص بـ Linux. سيؤدي الاستنساخ في نظام ملفات Windows إلى سرعات قراءة/كتابة أبطأ بكثير، وغالبًا ما يتسبب في حدوث مشكلات عندما يقوم Windows بنسخ الملفات ذات نهايات الأسطر الخاطئة، والتي لا يستطيع برنامج التحويل البرمجي التعامل معها بشكل صحيح.
استنساخ https://github.com/zeldaret/oot.git
حيث ترغب في الحصول على المشروع، باستخدام أمر مثل:
git clone https://github.com/zeldaret/oot.git
سيؤدي هذا إلى نسخ محتويات مستودع GitHub إلى مجلد جديد في الدليل الحالي يسمى oot
. قم بالتغيير إلى هذا الدليل قبل القيام بأي شيء آخر:
cd oot
ضع نسخة من ROM Master Quest (Debug) داخل المجلد baseroms/gc-eu-mq-dbg/
. إذا كنت ضمن WSL، فيمكنك تشغيل الأمر explorer.exe .
لفتح الدليل الحالي في مستكشف ملفات Windows.
أعد تسمية الملف إلى baserom.z64
أو baserom.n64
أو baserom.v64
، اعتمادًا على الامتداد الأصلي.
قم بإعداد واستخراج كل شيء من ROM الخاص بك باستخدام الأمر التالي:
make setup
يؤدي هذا إلى تنزيل بعض التبعيات (من النقطة)، وتجميع الأدوات اللازمة لعملية الإنشاء. ثم يقوم بإنشاء ROM جديد baseroms/gc-eu-mq-dbg/baserom-decompressed.z64
والذي سيتم إزالة التفريغ الزائد منه وتصحيح الرأس. كما سيتم استخراج الأصول الفردية من ROM.
قم بتشغيل make لبناء ROM. تأكد من أن طريقك إلى المشروع ليس طويلاً جدًا، وإلا قد يحدث خطأ في هذه العملية.
make
إذا سارت الأمور على ما يرام، فيجب إنشاء ROM جديد في build/gc-eu-mq-dbg/oot-gc-eu-mq-dbg.z64
، وطباعة النص التالي:
build/gc-eu-mq-dbg/oot-gc-eu-mq-dbg.z64: OK
إذا رأيت بدلاً من ذلك ما يلي:
build/gc-eu-mq-dbg/oot-gc-eu-mq-dbg.z64: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
هذا يعني أن ذاكرة القراءة فقط (ROM) المضمنة ليست هي نفس ذاكرة القراءة فقط (ROM) الأساسية، لذلك حدث خطأ ما أو أن جزءًا من الكود غير متطابق.
ملاحظة: لتسريع البناء، يمكنك إما:
-jN
make setup
make
، حيث N هو عدد سلاسل الرسائل التي سيتم استخدامها في الإنشاء. الحكمة المقبولة عمومًا هي استخدام عدد النوى الافتراضية الموجودة في جهاز الكمبيوتر الخاص بك.-j
make setup
و make
لاستخدام أكبر عدد ممكن من سلاسل الرسائل، ولكن احذر من أن هذا يمكن أن يستخدم الكثير من الذاكرة على الأنظمة ذات النهاية المنخفضة. كلاهما لهما عيب وهو أن ترتيب مخرجات المحطة الطرفية يكون مشوشًا، لذا من الأفضل لتصحيح الأخطاء الالتزام بخيط واحد (أي عدم تمرير -j
أو -jN
).
يعد مشروع Makefile قابلاً للتكوين إلى حد ما ويمكن استخدامه لإنشاء إصدارات أخرى من اللعبة أو إعداد الريبو للتعديل. راجع الخيارات الموضحة في الجزء العلوي من Makefile لمزيد من المعلومات.
جميع المساهمات هي موضع ترحيب. هذا جهد جماعي، وحتى المساهمات الصغيرة يمكن أن تحدث فرقًا. بعض المهام أيضًا لا تتطلب الكثير من المعرفة للبدء.
تجري معظم المناقشات على Discord Server الخاص بنا، حيث نرحب بسؤالك عما إذا كنت بحاجة إلى مساعدة للبدء، أو إذا كانت لديك أي أسئلة بخصوص هذا المشروع ومشاريع التفكيك الأخرى.