![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-15 00:27 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行 |
| DOS软件下载 & 游戏分享 (下载室) » dos下高分辨率显示环境的实现(vmc) |
| 可打印版本 8,018 / 17 |
| 第1楼 knifeflying | 发表于 2009-03-03 15:41 |
| 初级用户 发帖 30 积分 72 | |
|
dos下高分辨率显示环境的实现(vmc) 前一段时间一直折腾linux下的分辨率问题,向同学请教有关于framebuffer的知识。提高分辨率后字符显示更加清晰,显示的内容更多。我到国内外各个论坛和网站搜索,却没有找到dos类似的工具实现高分辨率文字显示,论坛的好多人也试图寻找类似的解决方案,结果多是无功而返。
这里说高分辨率下的文字显示其实是不恰当的,文字模式其实是固定的,没有分辨率一说,标准的是80x25,意思是显示25行,每行80个字符(当然还有43和50行),这样的显示显然不能满足现在日益增大的显示屏。高分辨率下的字符其实都是图形,每个字都是拿点拼成的,需要更多的存储空间,而不像字符模式,每个字符两个字节就可以控制内容、颜色、闪烁等等。 linux采用framebuffer driver,Linux是工作在保护模式下(用户进程无法直接操作硬件),所以无法使用显卡BIOS里提供的中断来实现直接写屏,Linux采用FrameBuffer这个抽象设备来实现直接写屏。 我在空闲时间阅读了VESA显示模式的书,VESA采用中断可以实现用户屏幕每个像素的直接控制,进而实现高分辨率的输出。我编写了下面的程序vmc(Video Mode Changer),希望能够对大家有所帮助。 现在大多的显卡都支持VESA标准了(最新3.0),但是显示芯片生产厂家标准不一,方案各异,虽然windows下驱动能够达到如1600x1200x32bit的显示模式,但是VESA直接写屏模式不一定能支持这么高的效果。vmc能够判断您的显卡是否采用VESA标准,并且检测其支持的所有显示模式,将他们(模式代号,分辨率,色深)列表输出,然后就可以采用“vmc 模式代号”实现高分显示了。 vmc /l 检测您的显卡,并列出支持的显示模式 vmc /c 检测并输出现在的显示模式代号 vmc NNN 将显示模式变为NNN(模式代号) vmc /? 帮助 详细情况请阅读附件中readme.txt。 附件 VMC1_0.zip (17.48 KiB) |
|
| 第2楼 knifeflying | 发表于 2009-03-03 15:53 |
| 初级用户 发帖 30 积分 72 | |
|
我笔记本的屏幕标准分辨率为1280x800,VESA 1280x800x256color的模式代号为352,以下是不同模式下的显示效果:
![]() 普通模式全屏显示效果,其为25x80文本模式,显示内容非常少。 ![]() 高分模式全屏显示效果,可显示51x160的文本,行数和每行显示的内容都大大增加了。 ![]() 普通模式的字体显示细节,每个字符需要多个像素缩放而成,字符周围虚化。 ![]() 高分模式的字体显示细节,每个字符都采用最基本的像素(8x16)显示而成,边界明显,字体小巧清秀。 |
|
| 第3楼 IamAlian | 发表于 2009-03-05 05:51 |
| 初级用户 发帖 10 积分 21 | |
|
不错,顶一个
|
|
| 第4楼 aq2007 | 发表于 2009-04-02 10:58 |
| 初级用户 发帖 9 积分 20 | |
|
不错.顶一下
|
|
| 第5楼 JUE1980TH | 发表于 2009-04-02 14:48 |
| 新手上路 发帖 5 积分 9 | |
|
意思明白,但不知道怎么用,顺便图全挂了。。
|
|
| 第6楼 yaya | 发表于 2009-04-03 00:35 |
| 银牌会员 发帖 353 积分 1,009 | |
|
分享
|
|
| 第7楼 study9787 | 发表于 2009-04-03 06:39 |
| 新手上路 发帖 1 积分 2 | |
|
頂一個
|
|
| 第8楼 kingst | 发表于 2009-04-03 07:10 |
| 新手上路 发帖 2 积分 4 | |
|
谢谢分享~
|
|
| 第9楼 netwinxp | 发表于 2009-04-03 08:23 |
| 高级用户 发帖 366 积分 741 | |
|
问题的关键是,很多的DOS软件会调整显示模式,并直接写屏,所以基本上只在command.com环境里面有用。
|
|
| 第10楼 store88 | 发表于 2009-04-15 05:16 |
| 中级用户 发帖 125 积分 416 | |
|
太棒了呀 谢谢
针对不同的分辨率最好有个公用的模式 [ Last edited by store88 on 2009-4-15 at 05:17 ] |
|
| 第11楼 knifeflying | 发表于 2009-04-28 08:46 |
| 初级用户 发帖 30 积分 72 | |
|
显卡芯片不同,相同的显示模式的编号是不同的。不过这不是问题,用软件检测一下就可以。
dos下的应用软件凡是牵扯到写屏的,都是自己定义屏幕显示。这样真是没办法。没有一个统一的显示平台,没有统一的显示接口。 dos太简单! |
|
| 第12楼 dosmac | 发表于 2009-06-08 06:45 |
| 新手上路 发帖 3 积分 6 | |
|
非常有用的东西,感谢楼主的贡献
|
|
| 第13楼 kaixinmao | 发表于 2010-04-04 09:27 |
| 初级用户 发帖 14 积分 27 | |
|
检测下虚拟机的硬件 哈哈,就是这样
|
|
| 第14楼 yc544545058 | 发表于 2010-04-20 11:06 |
| 新手上路 发帖 3 积分 6 | |
|
多谢啦!!!!!!!!!!!!!!!!!!!!
|
|
| 第15楼 yiqingnan | 发表于 2010-04-20 14:11 |
| 初级用户 发帖 24 积分 38 | |
|
常来常往
谢谢分享 |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |