lwj625
驱动牛犊
驱动牛犊
  • 注册日期2005-01-24
  • 最后登录2008-11-22
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望24点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
阅读:2618回复:15

DOS下出现花屏

楼主#
更多 发布于:2005-03-06 17:11
我在dos中的55ms中断中执行进度条显示功能,进度条的执行时间不超过1ms。但是有时会出现花屏现象,请问这是怎么回事?本人急需哪位高手能解决。
seahawk
驱动牛犊
驱动牛犊
  • 注册日期2005-02-13
  • 最后登录2006-03-08
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-03-06 17:22
我在dos中的55ms中断中执行进度条显示功能,进度条的执行时间不超过1ms。但是有时会出现花屏现象,请问这是怎么回事?本人急需哪位高手能解决。

本人不是高手,但是愿意一起探讨。
你的进度条是通过什么方法显示的呢?是直接写屏吗?
如果是,那我猜是不是因为跨段的时候没有处理好?
或者说你的显示模式不需要跨段,但是由于代码某处的问题,
反复执行而产生了溢出?
傍海渔村酣睡足 斜阳一脉洒千山 鲲鹏不待风潮起 万古江山多寂寥
Gong_XG
驱动太牛
驱动太牛
  • 注册日期2002-10-01
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分313分
  • 威望46点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-03-06 17:51
与光标定位有关!?
seahawk
驱动牛犊
驱动牛犊
  • 注册日期2005-02-13
  • 最后登录2006-03-08
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-03-06 18:21
与光标定位有关!?

你的意思说他的进度条是字符模拟的?
但是在文本模式怎么可能花屏呢?

btw:同志,你怎么这么多星呀?:)
傍海渔村酣睡足 斜阳一脉洒千山 鲲鹏不待风潮起 万古江山多寂寥
aiwadgj
驱动老牛
驱动老牛
  • 注册日期2004-11-13
  • 最后登录2020-12-24
  • 粉丝0
  • 关注0
  • 积分119分
  • 威望84点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2005-03-06 19:04
[quote]与光标定位有关!?

你的意思说他的进度条是字符模拟的?
但是在文本模式怎么可能花屏呢?

btw:同志,你怎么这么多星呀?:)
 [/quote]

嘿嘿,,你们认识啊。。。。。。 :D
酒也在沉溺,何时麻醉我抑郁。过去了的一切会平息。。。。。。。
lwj625
驱动牛犊
驱动牛犊
  • 注册日期2005-01-24
  • 最后登录2008-11-22
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望24点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-03-06 19:25
我是在dos的图形模式下执行程序的,程序中也有汉字显示,采用ucdos汉字库,用到了直接写屏技术(putpixel函数),在55ms中断中用进度条表示程序执行进度,进度条比较简单,只是画图形而已。
程序执行过程中无需人工干预,有时会出现花屏,但运行正常,而有时,运行好多遍也不出现花屏,我现在好无助啊,请高手门帮我吧。
我用的是win98的dos
seahawk
驱动牛犊
驱动牛犊
  • 注册日期2005-02-13
  • 最后登录2006-03-08
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-03-06 23:44
我是在dos的图形模式下执行程序的,程序中也有汉字显示,采用ucdos汉字库,用到了直接写屏技术(putpixel函数),在55ms中断中用进度条表示程序执行进度,进度条比较简单,只是画图形而已。
程序执行过程中无需人工干预,有时会出现花屏,但运行正常,而有时,运行好多遍也不出现花屏,我现在好无助啊,请高手门帮我吧。
我用的是win98的dos


我想问一下,你的putpixel是自己写的还是ucdos的?或者是用的库函数?ucdos的直接写屏功能比较强,但是相对库函数稳定性稍差。
从稳定性来说,我的经验:自己写的<ucdos<tc库函数。
对了,你的图形模式是什么?有个建议,如果一开始不熟悉分段,可以先使用mode x,也就是320x200x256,因为它在一个段内,不涉及分段。但是如果采用了buffer,我当时做的时候,也一不小心就花屏(见笑了)。
能不能说一下,你花屏的现象?
傍海渔村酣睡足 斜阳一脉洒千山 鲲鹏不待风潮起 万古江山多寂寥
seahawk
驱动牛犊
驱动牛犊
  • 注册日期2005-02-13
  • 最后登录2006-03-08
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-03-06 23:45
[quote][quote]与光标定位有关!?

你的意思说他的进度条是字符模拟的?
但是在文本模式怎么可能花屏呢?

btw:同志,你怎么这么多星呀?:)
 [/quote]

嘿嘿,,你们认识啊。。。。。。 :D [/quote]

相逢何必曾相识。。。。。。:)
傍海渔村酣睡足 斜阳一脉洒千山 鲲鹏不待风潮起 万古江山多寂寥
lwj625
驱动牛犊
驱动牛犊
  • 注册日期2005-01-24
  • 最后登录2008-11-22
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望24点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-03-07 19:20
我用的标准是库函数putpixel,只是用到了ucdos的汉字库(hzk16)。我不太明白怎么分段,能讲讲吗?
我用的图形模式就是用initgraph自动检测显卡的,可能是640*480*16的,怎么用mode x
但是我得程序有时运行一天也不出现花屏,一点也不频繁

[编辑 -  3/7/05 by  lwj625]
lwj625
驱动牛犊
驱动牛犊
  • 注册日期2005-01-24
  • 最后登录2008-11-22
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望24点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2005-03-07 19:23
花屏的现象:显示器出现竖条,其他正常,程序也正常运行
哪儿有讲解分段技术的?告知老弟吧
lsn_061
驱动老牛
驱动老牛
  • 注册日期2002-05-09
  • 最后登录2006-10-06
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望261点
  • 贡献值0点
  • 好评度169点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2005-03-08 07:54
请问lwj625   seahawk能否留下信箱?

lsn061@163.net

 :P
[img]http://bbs.zndev.com/image/medal/5.gif[/img]
seahawk
驱动牛犊
驱动牛犊
  • 注册日期2005-02-13
  • 最后登录2006-03-08
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2005-03-08 08:41
我用的标准是库函数putpixel,只是用到了ucdos的汉字库(hzk16)。我不太明白怎么分段,能讲讲吗?
我用的图形模式就是用initgraph自动检测显卡的,可能是640*480*16的,怎么用mode x
但是我得程序有时运行一天也不出现花屏,一点也不频繁

[编辑 -  3/7/05 by  lwj625]


如果用的是tc库函数,那并不是直接写屏,这样所谓分段的担忧都多余了:)所谓直接写屏就是显存被映射到内存空间a00000这个地址,你直接对a000000-affffff这段64k内存读写,其结果就会显示出来。由于映射的地址只有64k,所以除了320x200x256,别的模式使用的现存都大于64k,你就只好调用10号中断来换页了。
设置显示模式也是采用调用10号中断。
据你的情况看,好像和显示操作方面关系不大,我觉得应该从别的地方找毛病。ucdos也是一个不定因素,你能不能试试运行时不加载ucdos?
傍海渔村酣睡足 斜阳一脉洒千山 鲲鹏不待风潮起 万古江山多寂寥
seahawk
驱动牛犊
驱动牛犊
  • 注册日期2005-02-13
  • 最后登录2006-03-08
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2005-03-08 08:43
请问lwj625   seahawk能否留下信箱?

lsn061@163.net

 :P

希望能跟你们学习驱动开发的知识:)
tianyn@yahoo.com
傍海渔村酣睡足 斜阳一脉洒千山 鲲鹏不待风潮起 万古江山多寂寥
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2005-03-08 16:03
我在dos中的55ms中断中执行进度条显示功能,进度条的执行时间不超过1ms。但是有时会出现花屏现象,请问这是怎么回事?本人急需哪位高手能解决。

请确定是花屏还是闪烁
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
lwj625
驱动牛犊
驱动牛犊
  • 注册日期2005-01-24
  • 最后登录2008-11-22
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望24点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2005-03-08 18:33
我的信箱lwj625@etang.com
我的程序启动时没有加载ucdos,只是在程序中用到了hzk16文件.运行中出现的是花屏,好多竖条,而不是闪烁
lsn_061
驱动老牛
驱动老牛
  • 注册日期2002-05-09
  • 最后登录2006-10-06
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望261点
  • 贡献值0点
  • 好评度169点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2005-03-09 09:53
[quote]与光标定位有关!?

你的意思说他的进度条是字符模拟的?
但是在文本模式怎么可能花屏呢?

btw:同志,你怎么这么多星呀?:)
 [/quote]

MY GOD....小辉网上的么? :P
[img]http://bbs.zndev.com/image/medal/5.gif[/img]
游客

返回顶部