妙用“DEBUG”挑选效果良好显示器
--------------------------------------------------------------------------------
http://www.sina.com.cn 2002/10/09 13:29 赛迪网--中国电脑教育报
文/李贝
很多DIY用户在攒机时都把目光集中在主机的配件上,如CPU、显卡……却忽视了一个重要的外设——显示器。现在显示器的品牌种类繁多,不同的显像管显示的效果各有千秋,令选购者眼花缭乱。但究竟如何直观地检验显示器的色彩是否纯正、黑白是否平衡和汇聚是否准确?虽然我们可以利用一些软件的帮助,如Nokia Monitor Test 1.0a。但是在购买时,却极少人会随身携带,这时只有凭用户的慧眼目测。
其实,操作系统本身就自带了一个方便的工具,它就是DOS下的DEBUG。下面我就向大家介绍如何使用。
开机后进入DOS模式(建议在DOS实模式下,不加载任何其它的系统和软件,不过在Windows 9X的DOS窗口模式中也能通过;如果用户用的是Windows Me或Windows XP,可以点击任务栏的“开始”,选择“运行”,键入“DEBUG”,然后点击“确定”),键入DEBUG,回车。出现DEBUG横线提示符,我们即可使用“F”命令,直接对显示缓存进行操作,使显示器显示我们所需要的“图形”。具体操作命令如图表。
debug操作命令一览表
序号
命令
图形
1
-f b800:00 f9f 20 70
满屏白光栅
2
-f b800:00 f9f 20 40
满屏红光栅
3
-f b800:00 f9f 20 20
满屏绿光栅
4
-f b800:00 f9f 20 10
满屏蓝光栅
5
-f b800:00 f9f c5 07 c4 07
满屏白色十字
6
-f b800:00 f9f c5 04 c4 04
满屏红色十字
7
-f b800:00 f9f c5 02 c4 02
满屏绿色十字
8
-f b800:00 f9f c5 01 c4 01
满屏蓝色十字
9
-f b800:00 f9f c5 05 c4 05
满屏紫色十字
10
-f b800:00 f9f c4 07
满屏白色横线
11
-f b800:00 f9f b3 07 20 07
满屏白色竖线
12
-f b800:00 f9f 20 70 20 70 20 70 20 70 20 70 20 70 20 70 20 70 20 70 20 70
满屏黑白相间
怎么样,都看到了吧,比彩电信号发生器提供的信号更纯、更全、更直观。大家通过对自己心仪的显示器的测试,尽量发现它的“不足之处”,尽可能地吹毛求疵,这样就可以多掌握一些向商家讨价还价的“砝码”。
上面方法的作用是配合显像管的偏转线圈、色纯磁环、六级磁环等可调整部件,帮助用户调整和修复显像管的红、绿、蓝静汇聚,动汇聚,白、暗平衡,色纯等“面子”错误,让我们的彩显时刻展露“真我”色彩。
毕竟显示器是整台电脑中服役时间最长的部件之一,所以精挑细选一台好的显示器是购买电脑的一个关键所在。
Gemini 解答
技术背景与原理分析
本帖讨论的通过
DEBUG命令测试显示器的方法,实质上是利用了 IBM PC 兼容机在 CGA/EGA/VGA 文本模式(Mode 03h) 下的显存映射机制。在标准 80x25 文本模式下,显存的起始物理地址为
B800:0000。每一屏由 2000 个字符组成(80 列 × 25 行),每个字符占用 2 个字节:
- 低字节(Byte 0):存储字符的 ASCII 码。
- 高字节(Byte 1):存储字符的属性(颜色)。属性字节的高 4 位通常控制背景色,低 4 位控制前景色。
命令逻辑解析
- 满屏色块(如命令 1-4):
f b800:00 f9f 20 70f(Fill) 命令将从B800:0000到B800:0F9F(共 4000 字节,即一整屏)的内存填充为20(空格字符)和70(背景色 7/白色,前景色 0/黑色)。由于字符是空格,屏幕上呈现的是纯粹的背景色块。- 满屏线条/十字(如命令 5-11): 利用了扩展 ASCII 码中的制表符(如
C4为横线─,B3为竖线│,C5为十字┼)填充显存。- 黑白相间(命令 12): 通过循环填充不同的颜色属性,产生条纹或棋盘格效果,用于观察显示器的聚焦(Focus)和呼吸效应(Blooming)。
技术纠正与补充
1. 关于“软件是否能损坏硬件”的讨论(针对 Post #3, #4, #12)
帖中关于“软件不可能损坏硬件”的观点在 2000 年代初非常流行,但从严谨的工程角度看,这具有特定的时代局限性:
- 显示器端:在 1980 年代,某些老式显示器(如 IBM MDA)如果接收到超出其水平/垂直频率范围的同步信号,确实可能导致行输出管过热烧毁。但对于 2002 年(原帖时间)主流的 多频同步(Multisync) 模拟显示器和后来的数字显示器,内部均设有保护电路。如果信号超出范围,通常会黑屏并提示 "Out of Range",不会发生物理损坏。
- 主板与 BIOS:Post #4 提到的 CIH 病毒通过修改 Flash ROM 中的固件使机器无法启动。虽然硬件本身没坏,但在当时缺乏外部烧录手段的情况下,对于普通用户等同于“硬件损坏”。
2. 关于 Post #9 和 #10 的代码逻辑
Post #9 和 #10 提到的代码包含
out 21, ah和int 10的调用,其逻辑存在明显误导和错误:
- 端口操作:
out 21, al操作的是可编程中断控制器(8259A PIC)的屏蔽寄存器(IMR)。向端口 21h 写入FF会屏蔽所有外部硬件中断(如键盘、时钟),但这只会导致系统失去响应(死机),并不会物理损坏显示器。- BIOS 调用:代码中的
mov ah, 12h; mov bl, 36h; int 10是 VGA 视频子系统的一个特定调用,用于“启用/禁用视频刷新”。这会导致显示器失去同步信号进入黑屏省电模式,同样属于正常的显示控制,而非“损坏”操作。- 结论:这些代码段更像是当年论坛中常见的“恶作剧脚本”或“伪黑客代码”,它们可能导致 DOS 系统死锁或显示异常,但不具备损坏 CRT 或 LCD 硬件的能力。
3. 显存地址的依赖性
本帖的方法高度依赖于 VGA 的文本模式。如果系统当前处于图形模式(如使用了 VESA 高分辨率模式),向
B800:0000写入数据可能不会在屏幕上产生预期效果,甚至会被显卡驱动程序或硬件层重定向。历史语境说明
在 2002 年左右,CRT 显示器(大头显示器)仍是主流。帖中提到的“色纯”、“汇聚”、“白平衡”是 CRT 特有的物理参数。通过
DEBUG填充纯色和格线图,可以有效地观察显像管的偏转线圈是否存在老化、磁化或由于运输震动导致的电子束对准偏差。对于现代 LCD 显示器,这些测试更多用于检测“坏点”或“背光均匀度”。
| 评分人 | 分数 | 时间 |
|---|---|---|
| shifengl | +1 | 2009-05-23 23:19 |
=================================
大功告成,打个Kiss!
ko20010214@MSN.com
神州优雅Q300C
Intel CeleronM 370处理器 | 256MbDDR内存
40G硬盘 | USB2.0 | IEEE 1394
13.3 ' WXGA 宽屏(16:10) | COMBO光驱
10/100M网卡 | 四合一读卡器

精华I





