S
shaniaki
Guest
Hei,
Jeg utvikle et PCI-kort som trenger å lese dagens grafikkort buffer innholdet.Jeg har gjort PCI kortet og det kan starte lese / skrive-overføringer som master enheten i PCI-buss.
Det jeg trenger er å finne den riktige adressen til videoen min hukommelse.Som jeg har forstått av googling, standard VGA-kort har en liten minne adresse rekke A0000 å BFFFF som brukes i enkle tegn modus (mens oppstart for eksempel), men alle moderne grafikkort har større minne.Selve grafikken buffer av skjermen ser ut til å være her, men mitt problem er hvilken del av det?!
en normal 1024 * 768 * 32 Bit skrivebordet forbruker omtrent 3 MB minne, men for eksempel PC-en min har 128 tilordnet fysisk adresse E0000000 til E7FFFFFF (jeg fant dette i ressurser kategorien av eiendommen siden av min skjermdriver i Windows Enhetsbehandling).
Som tror jeg prøvde å skrive til begynnelsen av dette minnet rekkevidde og resultatet ble suksess!(Jeg klarte å trekke noe av hvilken som helst farge noe jeg vil anta at hele skjermen er kartlagt i begynnelsen av dette minnet) Men, når jeg prøver å lese en del av skjermen buffer, og så legge den tilbake (en enkel kopi) bare en gjentagende mønster vises.Det virker som jeg ikke leser gyldige data fra skjermminne.
Vet noen om lese / skrive-adresser er forskjellig fra hverandre?hvem kan jeg finne info om dette?bør jeg tviler på at PCI-kortet som jeg har laget?Eller er det mulig å lese innholdet i et grafikkort buffer av en annen PCI-kort?
Svar med hva enn du kanskje tror er nyttig.
Jeg utvikle et PCI-kort som trenger å lese dagens grafikkort buffer innholdet.Jeg har gjort PCI kortet og det kan starte lese / skrive-overføringer som master enheten i PCI-buss.
Det jeg trenger er å finne den riktige adressen til videoen min hukommelse.Som jeg har forstått av googling, standard VGA-kort har en liten minne adresse rekke A0000 å BFFFF som brukes i enkle tegn modus (mens oppstart for eksempel), men alle moderne grafikkort har større minne.Selve grafikken buffer av skjermen ser ut til å være her, men mitt problem er hvilken del av det?!
en normal 1024 * 768 * 32 Bit skrivebordet forbruker omtrent 3 MB minne, men for eksempel PC-en min har 128 tilordnet fysisk adresse E0000000 til E7FFFFFF (jeg fant dette i ressurser kategorien av eiendommen siden av min skjermdriver i Windows Enhetsbehandling).
Som tror jeg prøvde å skrive til begynnelsen av dette minnet rekkevidde og resultatet ble suksess!(Jeg klarte å trekke noe av hvilken som helst farge noe jeg vil anta at hele skjermen er kartlagt i begynnelsen av dette minnet) Men, når jeg prøver å lese en del av skjermen buffer, og så legge den tilbake (en enkel kopi) bare en gjentagende mønster vises.Det virker som jeg ikke leser gyldige data fra skjermminne.
Vet noen om lese / skrive-adresser er forskjellig fra hverandre?hvem kan jeg finne info om dette?bør jeg tviler på at PCI-kortet som jeg har laget?Eller er det mulig å lese innholdet i et grafikkort buffer av en annen PCI-kort?
Svar med hva enn du kanskje tror er nyttig.