一位爱好者拆解了旧款S3显卡的VBIOS,使黑色变得真正深邃
简要新闻内容
YouTube频道 *Bits und Bolts* 发现,旧款显卡 S3 Virge DX 4 MB 的黑色并非纯黑,而是深灰。制造商有意将“黑色提升”(pedestal bit)设置为此,以使 NTSC 标准的 CRT 显示器上的图像更柔和。视频作者成功修改 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) 结果
首次启动后,黑色确实变成了真正的黑色,没有“深灰”阴影。这证明问题不是 bug,而是制造商为提升 CRT 显示质量而做出的有意设置。
总结:
- 问题:S3 Virge DX 中人为提升黑色级别。
- 解决方案:修改 VBIOS,修正位和校验和。
- 结论:刷机后画面更自然。
评论 (0)
分享你的想法——请保持礼貌并围绕主题。
登录后发表评论