اكتشف أحد مُنشئي قناة على يوتيوب، يُدعى Bits und Bolts، خللاً في بطاقة رسومات قديمة من طراز S3 Virge DX بسعة 4 ميجابايت: حيث كان اللون الأسود يُعرض في الواقع باللون الرمادي الداكن، وهو قرار تصميمي اتخذته الشركة المصنعة. وبعد جهد كبير، تمكن هذا المُستخدم المُتحمس من تعديل ملف VBIOS وإصلاح الخطأ.

قام نظام S3 بتفتيح مستوى اللون الأسود بشكل مصطنع عند عرض الصور لمنع ظهور المناطق المظلمة من الصورة سوداء للغاية على شاشات CRT، وفقًا لمعيار NTSC. تم تحقيق ذلك من خلال "بتة ضبط" منفصلة. كان اللون المحدد بواسطة البرنامج الثابت هو 3F، وعندما تم اكتشافه وإعادة ضبطه إلى الصفر، اتخذ قيمة 1F. تم ضبط بتة الضبط هذه في BIOS مباشرةً أثناء بدء تشغيل النظام.
Энтузиаст, имевший к этому моменту опыт работы с видеокартами и изучивший обсуждения в сообществе, открыл отладчик и приступил к поискам этого бита — отслеживал целевые адреса и проверял их значения, используя преобразование шестнадцатеричной системы счисления в двоичную в «Калькуляторе» Windows. Он обнаружился по адресу «3c4» — когда значение здесь изменили до нуля, фон стал чёрным. Энтузиаст вернул исходное значение, подтвердив, что один из восьми отредактированных битов отвечал за подъём уровня чёрного. Оставалось методом исключения определить, какой из восьми.

تضمنت الخطوة الأخيرة تحويل VBIOS إلى ملف، وإجراء التغييرات المكتشفة أثناء فحص الكود، ثم إعادة كتابته إلى بطاقة الرسومات. أثناء البحث في الكود، وجد تطابقين في المُجمِّع، وأعاد استخدام مُحوِّل نظام الأرقام، وعثر على المُعامل الأصلي، وغيّر القيمة السداسية العشرية الوحيدة من "20" إلى "00". أخيرًا، كان عليه إعادة حساب مجموع التحقق لـ VBIOS لمنع النظام من رفض البرنامج الثابت باعتباره تالفًا. كانت القيمة القديمة "77"، بينما كانت القيمة الجديدة "97"، وكلا الرقمين بالنظام السداسي العشري. تم تحميل VBIOS المُعدَّل بنجاح إلى الشريحة واستُخدم لاستبدال الشريحة الأصلية على بطاقة الرسومات. عند التشغيل الأول، ظهر اللون الأسود أسودًا حقيقيًا.
المصدر:
المصدر: 3dnews.ru
