以前在Dos下可以改变显示数据的起始位置寄存器来实现屏幕的平滑移动。例如:mov ax,12cmov dx,3d4out dx,ax但在win2000下一直不行,请教高手怎么实现这功能啊?
回复(9) 2002-10-29 13:08 来自版块 - 内核编程
表情
fracker早知道多灌几贴了!(2002-10-30 10:01)
VanCheer自己搞定了!是输入数据的问题! 把WRITE_PORT_USHORT(port,0x120c) 写成了WRITE_PORT_USHORT(port,0x12c) 所以没有反应,呵呵! 谢谢各位了! 说句谢谢就完了??? :mad: :mad: :mad: 放分庆祝!...(2002-10-29 18:53)
kevin919自己搞定了!是输入数据的问题! 把WRITE_PORT_USHORT(port,0x120c) 写成了WRITE_PORT_USHORT(port,0x12c) 所以没有反应,呵呵! 谢谢各位了!(2002-10-29 18:15)
deltali你这个问题好像不是什么驱动方面的问题嘛?看你要求图像移动的速度啦,如果要求不是太高的话,用bitblt(),再加上去背景应该可以达到要求了。如果是要求很高的话,在windows下最好用DirectX。因为DirectX就是直接操作硬件,他的出现就是为了提供高效的图像显示,并不只是...(2002-10-29 16:59)
VanCheer2000下,在DOS窗口里,可以写端口,但写了也没用 所以你最好用DirectX,要不就用纯DOS(2002-10-29 15:14)
VanCheer不好意思!我说的是全屏幕向左或者右移动,要求看不到闪烁! 如果直接移动显存里数据的话,速度太慢! 我想直接对显卡进行操作,控制显卡的起始地址寄存器,我在驱动中控制USB的B000等端口都可以,就是显卡的端口不起作用,但在Dos下是可以的! 如果我知道怎么做当然会放分了! ...(2002-10-29 15:13)
fracker现在都用2000了,怎么还编写dos的程序?用DirectX吧。 我想就算你能移动窗口,恐怕你也只是能移动那个dos窗口吧?(2002-10-29 14:46)
kevin919不好意思!我说的是全屏幕向左或者右移动,要求看不到闪烁! 如果直接移动显存里数据的话,速度太慢! 我想直接对显卡进行操作,控制显卡的起始地址寄存器,我在驱动中控制USB的B000等端口都可以,就是显卡的端口不起作用,但在Dos下是可以的! 如果我知道怎么做当然会放分了!(2002-10-29 14:19)
VanCheer你说的太不清楚,怎么回答??? 你滑动什么?窗口里的还是全屏的??? :mad: :mad: :mad: 要想高性能,去玩弄一下DirectX吧。 你那20分放了吧,犒劳一下大家(2002-10-29 13:24)

返回顶部