Вот конфиг:
Type: VGA
Bus: 1
Device: 0
Function: 0
Revision: 0
Vendor ID ................ 0 1002
Device ID ................ 2 4151
Command .................. 4 0007
Status ................... 6 02B0
Revision ID .............. 8 00
Prog. I/F ................ 9 00
Sub Class Code ........... A 00
Class Code ............... B 03
Cache Line Size .......... C 08
Latency Timer ............ D FF
Header Type .............. E 80
BIST ..................... F 00
Base Address 0 ........... 10 D000 0008
Base Address 1 ........... 14 0000 A001
Base Address 2 ........... 18 F500 0000
Base Address 3 ........... 1C 0000 0000
Base Address 4 ........... 20 0000 0000
Base Address 5 ........... 24 0000 0000
Cardbus CIS Pointer ...... 28 0000 0000
Subsystem Vendor ID ...... 2C 1043
Subsystem ID ............. 2E C004
Expansion ROM Base Address 30 0000 0000
Reserved ................. 34 0000 0058
Reserved ................. 38 0000 0000
Interrupt Line ........... 3C 10
Interrupt Pin ............ 3D 01
Min_Gnt .................. 3E 08
Max_Lat .................. 3F 00
Device Dependent ......... 40 0000 0000
Device Dependent ......... 44 0000 0000
Device Dependent ......... 48 0000 0000
Device Dependent ......... 4C C004 1043
Device Dependent ......... 50 0602 0001
Device Dependent ......... 54 0000 0000
Device Dependent ......... 58 0030 5002
Device Dependent ......... 5C FF00 021B
Device Dependent ......... 60 1F00 4312
Device Dependent ......... 64 0000 0000
Device Dependent ......... 68 0000 0000
Device Dependent ......... 6C 0000 0000
Device Dependent ......... 70 0000 0000
Device Dependent ......... 74 0000 0000
Device Dependent ......... 78 0000 0000
Device Dependent ......... 7C 0000 0000
Device Dependent ......... 80 0000 0005
Device Dependent ......... 84 0000 0000
Device Dependent ......... 88 0000 0000
Device Dependent ......... 8C 0000 0000
Device Dependent ......... 90 0000 0000
Device Dependent ......... 94 0000 0000
Device Dependent ......... 98 0000 0000
Device Dependent ......... 9C 0000 0000
Device Dependent ......... A0 0000 0000
Device Dependent ......... A4 0000 0000
Device Dependent ......... A8 0000 0000
Device Dependent ......... AC 0000 0000
Device Dependent ......... B0 0000 0000
Device Dependent ......... B4 0000 0000
Device Dependent ......... B8 0000 0000
Device Dependent ......... BC 0000 0000
Device Dependent ......... C0 0000 0000
Device Dependent ......... C4 0000 0000
Device Dependent ......... C8 0000 0000
Device Dependent ......... CC 0000 0000
Device Dependent ......... D0 0000 0000
Device Dependent ......... D4 0000 0000
Device Dependent ......... D8 0000 0000
Device Dependent ......... DC 0000 0000
Device Dependent ......... E0 0000 0000
Device Dependent ......... E4 0000 0000
Device Dependent ......... E8 0000 0000
Device Dependent ......... EC 0000 0000
Device Dependent ......... F0 0000 0000
Device Dependent ......... F4 0000 0000
Device Dependent ......... F8 0000 0000
Device Dependent ......... FC 0000 0000
Тогда что такое BaseAddressRegister1 = 0xD0000008 ?
Это базовый адрес + флаги адреса(ntddk.h): BaseAddr = BaseAddressRegister1 & 0xFFFFFFF0 =0xD0000000, Flags = 8 ==PCI_ADDRESS_MEMORY_PREFETCHABLE|PCI_TYPE_32BIT,
Вот правда не знаю что значит, когда Flags =0 (0xDE000000), может диапазон запрещен? Попробуй точно узнать в каком именно ранге буфер лежит.
У меня вот такая же картина 0xD0000008 - 0xDFFFFFFF =256Mb, F5000000-0xF500FFFF =64kb, только порядком отличаются.. Скринбуфер точно в 0xD0000000 диапазоне, что
значит второй ранг адресов пока понятия не имею.
Вот DWORD по смещению 0x50 на что-то был похож (текущий screenoffset 0x20000) но поменяв screenoffset убедился что не то это.