هندسة عكسية لواجهة برمجة تطبيقات الرسم الخاصة بجهاز نينتندو إي-ريدر: سرّ في المكدس

2025-02-02
هندسة عكسية لواجهة برمجة تطبيقات الرسم الخاصة بجهاز نينتندو إي-ريدر: سرّ في المكدس

عثر مطور، أثناء إنشاء لعبة كاسحة الألغام لنينتندو إي-ريدر، على ميزة خفية في دالة `DrawLine` الخاصة بواجهة برمجة تطبيقات الرسم. في البداية، أظهرت حلقة ترسم مستطيلاً مصغراً باستخدام `DrawLine` خطوطًا تُرسم بشكل أسرع تدريجيًا. اكتشف المطور أن وقت الرسم يحدده قيمة مُدخلة في المكدس، وهي عبارة عن مزيج من عداد الحلقة وسجل آخر. من خلال إدخال 0 في المكدس، تم حل المشكلة، وكشف عن تفصيل غريب في واجهة برمجة التطبيقات. يُظهر هذا سحر الهندسة العكسية وخصائص بنيات المعالجات القديمة.