C和汇编中VGA和SVGA编程的区别

Pab*_*ada 1 c graphics vga

我开始学习使用内联汇编的c进行低级图形编程.我已经找到了有关如何进行VGA编程的良好资源,但我需要了解SVGA.我找不到关于SVGA的很多资源,我仍然不清楚它们之间的区别是什么.

我的问题是:

有人可以帮我了解VGA和SVGA之间的区别吗?有关编程VGA的资源是否有助于我开始使用SVGA编程图形?有没有什么好的资源可以用汇编学习SVGA编程,你们可以分享?

非常感谢你

Bre*_*dan 5

VGA是一种特定的视频卡(由IBM设计).由于克隆制造商它成为事实上的标准,并且大多数视频卡仍然能够支持古老的VGA卡的硬件接口(为了向后兼容的目的).

SVGA是一个用于描述"优于VGA"的术语.这些卡没有标准(事实上或其他方面); 20种不同的"SVGA"卡将拥有20种完全不同的硬件接口,分辨率和功能; 它们之间没有任何兼容性(除了传统的VGA以便向后兼容).

当有人谈到"SVGA编程"时,它们可能意味着两种截然不同的东西中的一种 - 要么为一个特定的SVGA卡编写代码(对于任何其他SVGA卡都不能/不能工作); 或者(更有可能)编写依赖于VBE扩展的代码.

请注意,VBE扩展是一个软件接口/ API,可用于查找卡支持的视频模式,设置视频模式以及设置帧缓冲区.它通常内置于视频卡的ROM中,并且存在以便软件可以使用通用API而不是支持许多不同的硬件接口.