阅读:3138回复:11
请问如何读写显存?
请问不用DirectX,如何直接读写显存?
|
|
沙发#
发布于:2004-01-05 12:33
在瘟都死下,用DDRAW.dll的函数来取显存的物理地址,应是最简单的方法吧。。。。。。
|
|
|
板凳#
发布于:2004-01-05 13:54
与DOS下没什么区别,直接读写B8000H,在RING0里无所谓。。。。。。
|
|
|
地板#
发布于:2004-01-05 13:54
与DOS下没什么区别,直接读写物理地址B8000H,在RING0里无所谓。。。。。。
|
|
|
地下室#
发布于:2004-01-05 16:44
直接写B8000H,恐怕比较复杂吧(存在一个内存窗口映射的东东)。不同的显示模式,其内存组织是不一样的。所以还是用DDRAW.dll中提供的几个简单的函数来获取当显卡的信息,应是省力的一种方法。
|
|
|
5楼#
发布于:2004-01-10 19:08
与DOS下没什么区别,直接读写物理地址B8000H,在RING0里无所谓。。。。。。 of course ,it\'s wrong WinDriver gave us a way, try it. |
|
6楼#
发布于:2004-03-15 00:12
ddk有例子阿
|
|
7楼#
发布于:2004-06-08 17:45
那
|
|
8楼#
发布于:2004-06-11 18:17
ddk有例子阿 是哪个?不妨指出来 |
|
|
9楼#
发布于:2004-08-26 15:46
不知道你在哪个平台.
1,win98,可以直接调用VBE int10可以得到显卡保护模式线性地址.通过简单转换可以直接操作. 2,win2000,写一个wdm,查询显卡pci配置空间,可以得到显存地址,再映射到用户空间,便可以直接操作了. 3,dos 实模式 必须通过切换页面的方式进行(真彩模式,5:5:5,5:6:5,8:8:8). dos 保护模式(DPMI Server),可以取到线性地址. |
|
|
10楼#
发布于:2004-08-26 20:47
直接看显卡的resources就可以找到显存的物理地址,然后找一个读写物理地址的函数.
|
|
11楼#
发布于:2004-12-03 09:55
不用DDraw不能获取直接访问显存的指针。因此不要在这个方向上费时间了。DDraw一个最大的优势就是可以直接获取这个指针。
|
|