中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 如果DOS能把设置显卡的颜色为真彩32位就好了。
作者:
标题: 如果DOS能把设置显卡的颜色为真彩32位就好了。 上一主题 | 下一主题
roor
初级用户




积分 145
发帖 28
注册 2002-10-22
状态 离线
『楼 主』:  如果DOS能把设置显卡的颜色为真彩32位就好了。 [已使用 LLM 解释]

-
LLM 解释

技术解释:DOS 下的 32 位真彩支持

DOS 本身(如 MS-DOS/PC-DOS)作为单任务操作系统,不提供统一的图形 API 或“系统级颜色设置”——显卡模式的切换完全依赖直接操作显卡硬件寄存器(如 VGA 及其扩展芯片的 CRTC、SEQ、GC 寄存器)。因此,“DOS 能否设置 32 位真彩”的核心在于显卡硬件是否支持对应模式,而非 DOS 系统本身的限制。

32 位真彩(通常指 RGB 各 8 位 + 8 位 Alpha 或填充位,显存位宽 32bpp)属于 VESA BIOS 扩展(VBE)2.0 及以上 定义的“线性帧缓冲(LFB)模式”(如 1024×768×32bpp)。只要显卡兼容 VBE 2.0+(如 1990 年代中期后的 S3、Trident、NVIDIA 早期显卡),程序即可通过调用 VESA BIOS 中断(INT 10h 功能 4Fh)切换到 32 位真彩模式。

对 Wengier 回复的补充

Wengier 提到“QV 等图像软件可选择 32 位真彩查看”是准确的——这类软件直接通过 VESA BIOS 或硬件寄存器切换显卡模式,而非依赖 DOS 系统提供的接口。当年的误解(认为“DOS 不支持真彩”)源于早期 DOS 程序多使用 VGA 16 色/256 色模式(受限于显存大小和硬件成本),且普通用户对 VESA 扩展的认知不足。

关键限制

  1. 硬件依赖:仅支持 VBE 2.0+ 的显卡可实现 32 位真彩;早期 VGA/SVGA 显卡(如 IBM VGA、Cirrus Logic CL-GD542x)无此能力。
  2. 显存开销:32 位真彩模式显存占用高(如 1024×768×32bpp 需约 3MB 显存),1990 年代初的电脑(通常配 1MB 显存)无法支持。
  3. 程序主动切换:DOS 本身不维护图形模式,需程序每次运行时主动初始化显卡。

结论

DOS 下的 32 位真彩是硬件和程序实现的结果,而非 DOS 系统的固有能力。只要硬件支持,程序可通过 VESA 扩展实现该功能。



2002-10-27 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27736
发帖 10521
注册 2002-10-9
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

其实,DOS在通常状态下的颜色数目是没有关系的,不存在此问题。但在查看图像的时候,各DOS下的图像软件都有其设置,例如QV,就可以选择用32位真彩等方式进行图像查看。




Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2002-10-27 00:00
查看资料  发送邮件  访问主页  发短消息  网志  OICQ (29206679)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: