Ентузіаст розкрив VBIOS старої відеокарти S3, зробивши чорний колір справді темним
Короткий зміст новини
YouTube‑канал *Bits und Bolts* виявив, що у старій відеокарті S3 Virge DX 4 MB чорний колір відображався не як чистий чорний, а як темносірий. Це було навмисним рішенням виробника – «підняття рівня чорного» (pedestal bit), щоб зображення на ЕЛТ‑моніторах у стандарті NTSC виглядали більш м’якими. Автор відео зміг змінити VBIOS і повернути справжній чорний колір.
1. Що сталося?
- S3 Virge DX використовувала «піднятий» рівень чорного:
- У BIOS колір був заданий значенням `0x3F`.
- При скиданні біта до нуля він став `0x1F`, і картинка виглядала темнішою.
- Це робилося спеціально, щоб темні ділянки не «тухали» на старих моніторах.
2. Як автор знайшов проблему
1. Підготовка
- Автор вже мав досвід роботи з відеокартами і читав обговорення у спільноті.
- Відкрив налагоджувач, щоб бачити значення регістрів в реальному часі.
2. Пошук біта
- Слідував за цільовими адресами, перетворюючи шістнадцяткові числа у двійкову форму через калькулятор Windows.
- Знайдений біт знаходився за адресою `0x3C4`.
- При зміні значення на нуль фон став чорним.
3. Визначення впливу
- Повернув початкове значення, підтвердивши, що один із восьми бітів відповідає підняттю рівня чорного.
- Залишилося з'ясувати, який саме біт – метод виключення.
3. Редагування VBIOS
1. Експорт і модифікація
- Витягнув VBIOS у файл, внес зміни вручну.
- При аналізі асемблерного коду знайшли два збіги, які вказували на потрібний параметр.
2. Зміна запису
- Перетворив значення `0x20` у `0x00` – це й було «підняттям» рівня чорного.
- Після зміни пересчитал контрольну суму VBIOS:
- Стара чек‑сума = `0x77`.
- Нова чек‑сума = `0x97`.
3. Запис назад
- Завантажив виправлений BIOS у чіп відеокарти, замінивши оригінальний.
4. Результат
При першій завантаженні після прошивки чорний колір дійсно став справжнім чорним – без «темносірого» відтінку. Це підтверджує, що проблема була не багом, а навмисним рішенням виробника для покращення візуальної якості на ЕЛТ‑моніторах.
Висновок:
- Проблема: штучне підняття рівня чорного у S3 Virge DX.
- Рішення: зміна VBIOS, виправлення біта та контрольної суми.
- Висновок: після прошивки картинка виглядає більш природньо.
Коментарі (0)
Поділіться своєю думкою — будь ласка, будьте ввічливі та по темі.
Увійдіть, щоб коментувати