Board logo

标题: [求助]怎样才能更改DOS下屏幕的分辨率呢? [打印本页]

作者: cassel     时间: 2005-7-4 00:00    标题: [求助]怎样才能更改DOS下屏幕的分辨率呢?
DOS下640X480的分辨率让我很不爽,想将其更改到800X600,应该怎样做呢?
或者能让Turbo C运行在分辨率为800X600下,该怎样做呢?
我的是SIS 630的集成显示芯片。
先谢过各位大侠了!

作者: JonePeng     时间: 2005-7-7 00:00
呵呵,首先要说明一下DOS的分辨率是文本分辨率,并非640*480或800*600的图形分辨率。DOS界面的文本分辨率一般是80*25,文本分辨率是以字符为单位,80*25的意思是屏幕一共可以显示25行,每行80个字符。这与图形分辨率很不同,图形分辨率是以像素为单位的。80*25的文本分辨率下,视频模式号为03H,每个字符的点阵是9*16或8*16,即一个字符由16行、9(或8)列的点构成。文本分辨率也有高分辨率,如:80*43、80*50、甚至132*50、132*60,现在几乎所有显卡都支持这些文本高分辨率。Wengier的MSDOS 7.1超级启动盘上的TM小程序可以切换这些文本分辨率。DOS以及大部分DOS应用程序都使用文本分辨率,Turbo C 2.0也不例外。Turbo C是上世纪80年代的编程工具,本来就规定在文本模式下运行,并非运行在640*480的图形分辨率,故根本不可能更改为800*600。但Turbo C可以把80*25的默认分辨率改为80*43或80*50:在Turbo C界面下,选菜单中的“Options”→“Environment”→“Screen size”→“43/50 line display”。另外,现在已经有Windows界面的Turbo C了,你可以试一下:http://doshome.com/soft/SoftView/SoftView_230.html

作者: netstree     时间: 2005-7-9 00:00
输入mode con cols=(columns) lines=(lines)
然后回车
columns为每行字符数,可为40或80, lines为行数,可为25,43或50.
还可用ANSI转义序列实现啊,


作者: JonePeng     时间: 2005-7-9 00:00
用ANSI转义序列确实可以实现,当然可以使用图形分辨率,如320*200,640*350,640*480等,汉字系统大多数都采用640*480 16色VGA图形模式。但是如果使用了图形分辨率,我本人觉得显示效果很不爽:1. 首先光标不会闪烁甚至消失了,因为那个闪动的光标仅对文本模式有效。有时候光标会消失,一旦消失了,在你输入命令时你会一时找不到东西南北。2. 其次就是字符输出反应慢,尤其是屏幕滚屏,如输入dir显示一长串文件列表时,因为图形模式下,每个字符是逐行逐列画出来的,不像文本模式那样每个字符像打字机一样直接“打”出来;由于系统BIOS已经集成字符输出和屏幕滚动等功能,这些功能只适合文本模式,所以文本模式的字符输出比图形模式下反应快得多。3. 文本模式下支持文本闪烁和高亮度字符背景,而图形模式则不支持,本来闪烁的文字在图形模式下都不能正常显示了。4. 最后一点是可能大家都很少留意到的:文本模式下屏幕的刷新频率一般是70Hz,而图形模式下,如果没有其他工具辅助,刷新频率只有60Hz。