قم بتصحيح أخطاء رومة homebrew على Master System تتعطل عند شاشة العنوان
متى تستخدمه: بناؤك بـ WLA-DX يعمل بشكل جيد في رأسك لكن Gearsystem يتجمد عند شاشة العنوان.
المتطلبات الأساسية
- Gearsystem مبني مع تفعيل MCP — استنساخ drhelius/Gearsystem والبناء وفقاً لـ MCP_README.md
- الرومة وملف الرموز .sym الخاص بها — مخرجات المجمع الخاص بك (WLA-DX، asm6 إلخ)
الخطوات
-
قم بإطلاق headless وقم بتعيين نقطة توقف عند نقطة التعطلأطلق Gearsystem MCP مع رومتي. قم بتعيين نقطة توقف CPU عند التسمية
init_vdpوقم بتشغيل البرنامج.✓ تم النسخ→ التنفيذ يتوقف عند نقطة التوقف -
فحص حالة CPU و VRAMأظهر لي سجلات Z80 وأول 32 بايت من VRAM. هل يبدو أي شيء خاطئاً في هذه النقطة من الإعداد الأولي؟✓ تم النسخ→ تفريغ السجلات + ملاحظات حول المتوقع مقابل الفعلي
-
خطوة عبر الكود ومراقبة منطقة ذاكرة محددةأضف نقطة توقف للوصول للذاكرة على $C000 وقم بالخطوة حتى يكتب شيء ما هناك.✓ تم النسخ→ يتوقف عند الأمر المخالف
النتيجة: السبب الجذري (مثلاً، سجل VDP مكتوب قبل أن يكون VRAM آمناً) مع عنوان الأمر الدقيق.
المزالق
- الرموز لم يتم تحميلها — العناوين معتمة — تأكد من أن .sym يطابق بناء الرومة بالضبط؛ أعد البناء للمحاذاة إذا لزم الأمر
- خطأ التوقيت يحدث فقط على الأجهزة الحقيقية، وليس على المحاكي — المحاكي له قيود؛ لحالات حافة توقيت الناقل، اختبر على جهاز SMS حقيقي